HPT Heikin Ashi Smoothed

v10.3
HPT Heikin Ashi Smoothed

This trend following indicator is another attempt to filter the noise of the price by using Heikin Ashi candlesticks construction. This one double smoothed the price information by using 2 set of moving average. Of course, it is lagging but it has the capabilities to reduce considerably the market noises. It can also be used to find turning point of the market or a good way to jump into a trend. Someone ask me recently to convert it to prorealtime, so here it is.

The indicator embed 2 external variables (“long” and “short”) that can be used to be imported into trading strategies to launch BUY or SELL orders on market.

 

 

 

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Ozons • 04/25/2017 #

    Merci Nicolas pour cet indicateur. Comment puis-je le modifier pour le tracer sous forme d’histogramme linéaire ?
    Exemple : si Candle est bleu => histogramme bleu =1 , si Candle est rouge => histogramme rouge = 1
    Merci Nicolas
     

  2. Ozons • 04/25/2017 #

    //PRC_HPT Heikin Ashi Smoothed | indicator//25.04.2017//Nicolas @ http://www.prorealcode.com//Sharing ProRealTime knowledge//translated from MT4 indicator code//—settingsMaPeriod=6MaPeriod2=2//—end of settingsonce maOpen=Openonce maClose=Closeonce maLow=Lowonce maHigh=Highif barindex>0 thenmaOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriodmaClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriodmaLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriodmaHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriodhaOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2haClose=(maOpen+maHigh+maLow+maClose)/4haHigh=Max(maHigh, Max(haOpen, haClose))haLow=Min(maLow, Min(haOpen, haClose))if (haOpen<haClose) thenExtMapBuffer7=haLowExtMapBuffer8=haHighelseExtMapBuffer7=haHighExtMapBuffer8=haLowendifExtMapBuffer5=haOpenExtMapBuffer6=haCloseM1=weightedaverage[MAperiod2](ExtMapBuffer7)M2=weightedaverage[MAperiod2](ExtMapBuffer8)//ExtMapBuffer3=weightedaverage[MAperiod2](ExtMapBuffer5)//ExtMapBuffer4=weightedaverage[MAperiod2](ExtMapBuffer6)endifIf M1>M2 THENBAISSE = 1ELSEBAISSE = 0ENDIFIf M1<M2 THENHAUSSE = 1ELSEHAUSSE = 0ENDIFRETURN HAUSSE as “HAUSSE”, BAISSE as “BAISSE”

  3. Stenozar • 04/25/2017 #

    Hi Nicolas, I tried to put the indicator but candles result mashed. How can I solve this problem?
    Thanks
     

  4. supertiti • 04/25/2017 #

    Bonjour Nicolas,
    les signaux sous forme d’histogrammes dans ton code ont 1 bougie de retard !?
    Le code de Ozons donne le même timing que les HA
    As tu une idée d’où vient ce décalage ?
    bonne journée

  5. supertiti • 04/25/2017 #

    Pour ceux qui veulent jouer avec les moyennes mobiles :
    // HA HPT Smoothed PRT indicator 25.04.2017
    // Nicolas @ www.prorealcode.com Sharing ProRealTime knowledge
    // translated from MT4 indicator code

    once maOpen=Open
    once maClose=Close
    once maLow=Low
    once maHigh=High

    if barindex>0 then
    maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod
    maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod
    maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod
    maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod

    haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2
    haClose=(maOpen+maHigh+maLow+maClose)/4
    haHigh=Max(maHigh, Max(haOpen, haClose))
    haLow=Min(maLow, Min(haOpen, haClose))
    if (haOpen<haClose) then
    r=247 //0
    g=255 //191
    b=0 //255
    ExtMapBuffer7=haLow
    ExtMapBuffer8=haHigh
    else
    r=0 //255
    g=191 //10
    b=255 //0
    ExtMapBuffer7=haHigh
    ExtMapBuffer8=haLow
    endif
    ExtMapBuffer5=haOpen
    ExtMapBuffer6=haClose

    //ExtMapBuffer1=weightedaverage[MAperiod2](ExtMapBuffer7)
    //ExtMapBuffer2=weightedaverage[MAperiod2](ExtMapBuffer8)
    //ExtMapBuffer3=weightedaverage[MAperiod2](ExtMapBuffer5)
    //ExtMapBuffer4=weightedaverage[MAperiod2](ExtMapBuffer6)

    ExtMapBuffer1= average[MAperiod2,m](ExtMapBuffer7)
    ExtMapBuffer2= average[MAperiod2,m](ExtMapBuffer8)
    ExtMapBuffer3= average[MAperiod2,m](ExtMapBuffer5)
    ExtMapBuffer4= average[MAperiod2,m](ExtMapBuffer6)
    endif
    DRAWCANDLE(ExtMapBuffer3,ExtMapBuffer2,ExtMapBuffer1,ExtMapBuffer4) coloured(r,g,b)

    // short = ExtMapBuffer7[1]>ExtMapBuffer8[1] and ExtMapBuffer7[2]<ExtMapBuffer8[2] and ExtMapBuffer7[0]>ExtMapBuffer8[0]
    // long = ExtMapBuffer7[1]<ExtMapBuffer8[1] and ExtMapBuffer7[2]>ExtMapBuffer8[2] and ExtMapBuffer7[0]<ExtMapBuffer8[0]

    RETURN customclose as \" customclose \" // , long as \"long signal\", short as \"short signal\"

    // Variables :
    // MaPeriod = 6
    // MaPeriod2 = 2
    // m = timeserie
     

  6. Stenozar • 04/25/2017 #

    Hi Nicolas, can you help me with this indicator?
    Thanks,

  7. leyoy • 04/25/2017 #

    Merci pour le partage, super indicateur :)Petite question : j’utilise une moyenne mobile simple … le soucis c’est qu’elle apparait derrière l’indicateur HPT Heikin Ashi Smoothed alors que j’aimerais qu’elle soit en premier plan. Est-ce possible de la faire passer devant sur PRT ?Merci par avance pour vos réponses. 🙂

    • Nicolas • 04/25/2017 #

      Placer d’abord l’indicateur puis la moyenne mobile sur le prix, ça devrait la placer devant. 

  8. leyoy • 04/25/2017 #

    Merci Nicolas … des fois on se complique les choses ! Ca marche nickel 🙂

  9. finplus • 04/25/2017 #

    Bonsoir. Merci pour code très intéressant. Juste une petite chose : j’utilise également l’indicateur trouvé sur ce site “better bollinger bands”. or, il se trouve qu’avec le heikin ashi smoothed, en phase de hausse, les cours se retrouvent sous la courbe centrale et en phase de baisse, les cours se retrouvent sur la courbe centrale. Serait il possible alors d’essayer d’aménager en conséquence l’indicateur “better bollinger bands” afin de trouver une certaine cohérence avec le heikin ashi smoothed? Merci d’avance.
     

    • Nicolas • 04/25/2017 #

      Forum svp, avec des images pour bien expliquer merci 🙂 

  10. finplus • 04/25/2017 #

    oui bien sûr j’ouvre le sujet immédiatement.
     

  11. denmar • 04/25/2017 #

    Hi Nicolas
    Any chance you could please modify the code slightly for me? I would like it if the longer term MA was smoothed (6 periods) and if you could suppress the wicks ie only plot the body.  Thank you.
     

  12. leyoy • 04/25/2017 #

    Salut Nicolas, j’ai un petit soucis d’affichage : quand je lance PRT tout le graph est condensé et je suis obligé à chaque fois de jouer avec les bords du graph pour le remettre correctement.C’est du au long/short signal de ton indicateur représenté par un trait (trait blanc sur le screenshot) : du coup l’ecran de PRT prend en compte le graph + ce trait qui est tres tres tres bas par rapport au prix et donc on a ce condensé au lancement ou au changement d’unité de temps.
    Possible de corriger ça ?
    Lien image : http://hpics.li/df46769
    Merci beaucoup 🙂

    • Nicolas • 04/25/2017 #

      Dans les paramètres du prix, tu choisis une mise à l’échelle verticale basée sur le prix uniquement.

    • leyoy • 04/25/2017 #

      oh yes … ca marche nickel, je ne connaissais as cette fonctionnalité de PRT. Encore merci 🙂

  13. ade1 • 04/25/2017 #

    Hullo Nicolas,
    when i put the indicator on my chart ,it comes as an indicator below the chart like RSI or MACD.How do i put it on the price chart.
    Many thanks
    Adrian

    • Nicolas • 04/25/2017 #

      Apply it on price instead with the wrench on the upper left side of the price chart.

  14. ade1 • 04/25/2017 #

    thankyou

  15. Gennadiy • 04/25/2017 #

    Thank you, very much, Nicolas, for this wonderfull Indicator! I have a question. I have added colored lines to see “ExtMapBuffer1” and others. And i saw, that the short-candle doesn’t have “low”, that should be becouse of “ExtMapBuffer1”-Line. Shold something be added to the code?

  16. Gennadiy • 04/25/2017 #

    Here is my code: RETURN long as “long signal”, short as “short signal”, weightedaverage[MAperiod2](ExtMapBuffer7) as “ExtMapBuffer1”, weightedaverage[MAperiod2](ExtMapBuffer8) as “ExtMapBuffer2”, weightedaverage[MAperiod2](ExtMapBuffer5) as “ExtMapBuffer3”, weightedaverage[MAperiod2](ExtMapBuffer6) as “ExtMapBuffer4”

  17. Gennadiy • 04/25/2017 #

    Here is the link to the image: http://ipic.su/img/img7/fs/Candle.1503737934.png

  18. cfta • 04/25/2017 #

    Nicolas, what adaptions do we need to make to use this indicator in a strategy code, how do we set the contiditions? I have tried a few variants using “long signal” and “short signal” and also tried to change the code to return indicator with a 1 or -1 value but don’t manage to make it work.

    In addition if using the code for a strategy we can delete all the lines relating to drawing candles instructions to speed up calculations but which ones should we remove?

    • Nicolas • 04/25/2017 #

      you can remove line 48. Using returned variables ‘long signal’ and ‘short signal’ should work in a strategy. When one is true, it returns 1, while it returns 0 if not.

    • cfta • 04/25/2017 #

      Thanks Nicolas 🙂 It turned out I needed to remove line 48 but also a few more, earlier I removed either too many or too few but now I got it right and adapted it to a histogram version returning either 1 or -1 (I didn’t figure out how to use “long signal” and “short signal” most likely due to my lack of knowledge). Anyway here is the adapted code in case anyone finds it useful;

  19. cfta • 04/25/2017 #

    //PRC_HPT Heikin Ashi Smoothed | indicator
    //25.04.2017
    //Nicolas @ http://www.prorealcode.com
    //Sharing ProRealTime knowledge
    //translated from MT4 indicator code

    //—settings
    //MaPeriod=6
    //MaPeriod2=2
    //—end of settings

    once maOpen=Open
    once maClose=Close
    once maLow=Low
    once maHigh=High

    if barindex>0 then
    maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod
    maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod
    maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod
    maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod

    haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2
    haClose=(maOpen+maHigh+maLow+maClose)/4
    haHigh=Max(maHigh, Max(haOpen, haClose))
    haLow=Min(maLow, Min(haOpen, haClose))
    if (haOpenExtMapBuffer8[1] and ExtMapBuffer7[2]ExtMapBuffer8[0] then
    indicator1=-1
    endif

    if ExtMapBuffer7[1]ExtMapBuffer8[2] and ExtMapBuffer7[0]<ExtMapBuffer8[0] then
    indicator1=1
    endif

    RETURN indicator1

  20. Alexandre AMARY • 04/25/2017 #

    Bonjour,
    Je ne comprends pas pourquoi les bougies rouges n’ont jamais de mèche basse, contrairement aux mèches bleues qui elles disposent de mèches hautes et basses.
    Est-ce normal ?
    D’avance merci pour tes éclairages !
    Et merci pour ce superbe indicateur
    Alexandre

    • Nicolas • 04/25/2017 #

      En effet, déjà discuté et modifié dans ce topic: https://www.prorealcode.com/topic/heiken-ashi-smoothed-code/

    • ALAM • 04/25/2017 #

      Merci Nicolas, j’ai bien trouvé la version corrigée de l’indicateur. Un grand merci pour ton partage de connaissances sur cette plateforme.
      Alexandre.

  21. Alexandre AMARY • 04/25/2017 #

    Pardon…
    “contrairement aux bougies bleues”

  22. jwebster2 • 04/25/2017 #

    HI Nicholas….Can I use this indicator on 30sec/1min timeframes? Also do you have a simple Heikin Ashi chart I can import into IG pro real time to use in the low time frames for scalping ?

  23. jwebster2 • 04/25/2017 #

    Hi Nicholas.. please ignore previous comment .. as I have located it… !

  24. Yvan63 • 04/25/2017 #

    Bonsoir,
    Je ne comprends pas comment la variable HaOpen prend sa première valeur vu que ExtMapBuffer5 n’a pas de valeur au début du programme ?

  25. laitus • 04/25/2017 #

    Bonjour Nicolas et collègues, ¿est-il possible d’appliquer la HAS non pas sur le prix mais, par exemple sur une moyenne mobile? Je sais que sur une plate-forme, vous pouvez mais je ne le trouve pas sur celle-ci. Merci d’avance.

  26. PhilipSchultz • 04/25/2017 #

    Hi Nicolas, do you know if I Can backtest this indicator. For example. When it turns blue, enter long. And for red enter short?

    • Nicolas • 04/25/2017 #

      By learning to code, or by asking for other people to do it for you in the forums.

  27. bearbull • 04/25/2017 #

    As per PhilipSchultz question above, has anybody managed to add code for when it turns blue, enter long. And for red enter short?…..I would be very interested in this additional code to the HeikinAshi smooth

  28. Ybr35 • 04/25/2017 #

    Bonjour Nicolas, lorsque je lance l’indicateur, il m’est indiqué que je dois définir les variables MAPERIOD et MAPERIOD2….pourrais-tu m’aider à ce ce sujet? Merci beaucoup.

    • Nicolas • 04/25/2017 #

      L’idéal est de télécharger le fichier itf joint sur cette page et de l’importer dans la plateforme pour bénéficier du code complet.

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+10 more likes

Related users ' posts
Godo Bonjour Souhait Sam, Après de nombreux essais pour le mettre en format afin d'utiliser ce c...
Nicolas Il faut supprimer celles qui existent dans la fenêtre d'optimisation et les créer en dur dan...
crusoe76 hi there, anyone can help making this strategy work, i have a message saying replace variabl...
Screw27 Salut nicolas j'aimerais savoir tes résulats grace a cettte methode
eva.g.forsgren It dose not work, I get a strap instead of candels???????????????????????????????????????????
Nicolas That indicator is the one below the chart. The indicator to put on the price chart is this o...
pyhrus P.S : IG , que j'ai contacté ,m'indique que la version V11 , ne sera pas disponible avant un...
Hasardeur Dear Nicolas, is there someting at the arry to modify in order to run the trend at the actu...
MALIMALO Dear Nicolas, just try touse your indicator with backtest but it's not working. is anybody...
ribes65 Bonjour Nicolas, Merci pour votre travail. Est-il envisageable de créer un screener pour ...
Nicolas Bien sûr, merci de formuler une demande dans le forum des screeners pour prorealtime. En res...
ipbvba Est il possible de le transformer en indicateur (pour ne plus avoir les lignes mais uniqueme...
supertiti Bonjour Nicolas, Je ne comprend pas bien , le trend change de couleur quand les prix sont a...
Nicolas Oui ce serait possible, cependant l'indicateur est bien prévu pour conserver la couleur de l...
supertiti Quand tu pourras si tu peux nous coder la troisième couleur cela améliorerait les trades cou...
Nicolas How to import file page: in the help section of the website explains howto
kenssa import through the indicator page/window in the Proreal time
chicoteca Buenas, no consigo que se me muestre en el chart de DAX. ¿Cómo procedo? Gracias.-
Ciccarelli Franco Per lasciare che la strategia venga eseguita (dopo aver importato il file): Basta eliminare...
JADINVEST Hello Jan, hello everyone, Thanks Jan for this strategy! Since 2020, have any of you found a...
Alessandro Furlani Hi Ian, hope you still use PRT and so you can read this post. I have tested a lot your work ...
Stockastiss Can this code be simply transferred into Backtestingcode so one doesnt need to use call ? (i...
Vonasi Sorry for the late reply. Add the code to your strategy and remove line 5 and line 39. Chang...
viktorthunss Hi! How many averages are there? Can I see the somewhere?
FXmike hey my friends, thank you for this great code. my problem is he make no trade open. backtest...
FXmike Can i put a Action that my start contract is smaller than 1 ? 0.3 or 0.5 ? In wich Position...
phoentzs I wrote the code for M15 back then and also variants in H1 and M1. Everything works so far....
leofi https://www.prorealcode.com/topic/simple-average-with-visual-color/
leofi Go visit www.prorealcode.com/topic/simple-average-with-visual-color/ and watch 2em post
Dritan Hi,I am new on Prorealtime and coding.I downloaded the indi but I have it on a separate wind...
Alps007 Hi Nicolas. Happy New Year. Can you please program me several MACD divergence screeners ...
Arlei Zanin Hello Nicolas, would it be possible to convert the Cloud to Pascal language? Thank you.
ashee i want it in MT4
Marie-Eve Vergoz Bonsoir - Voici l'erreur qui est signalée lorsque je souhaite utiliser cet indicateur : il...
Nicolas Just add it on the price series.
yomisadiku Hello Nicolas, Can I use high and low price at lines hh=max(hh,close) and ll=min(ll,close) ...
Nicolas Yes you can do that, the impact will be that the trailing stop line will be much close to th...
Byggtrader Hi Nicolas! How do I get the indicator in the price chart? It only stays under i new chart.
Nicolas Just add it on the price chart by using the wrench on the left upper side of the chart (pric...
Dom Hello, hello....je commence le trading et découvre par la même occasion le codage....et ce n...
Nicolas Merci, ça fait plaisir !
Be-n Bonjour tout le monde ! Dans l'indicateur de tendance, j'ai du mal à saisir la nuance entre ...
Vonasi Sure that is possible. I will code it and make a post in the English ProBuilder forum and pu...
Vonasi Vama v2 with Hull moving average included can be found here: https://www.prorealcode.com/top...
JMat45 Thank you, Vonasi.
Globalmarkets79 Thank you Vonasi for the answer. I have an other question. When i tried to run the indicator...
Vonasi Lines is either 0 or 1 to turn on or off the drawing of them. Once again if you download and...
Globalmarkets79 Thank you Vonasi, this indicator is very helpful!!!
Nicolas
6 years ago
Bateson Merci pour la réponse Nicolas. C'est bien ce que j'ai fait mais ça ne fonctionne toujours pa...
Enzo Paliotti Veramente ottimo, era quello che cercavo, si potrebbe modificare inserendo come variazione a...
Nicolas Perché no, chiedetelo con una descrizione dettagliata nel forum degli indicatori, per favore!
Nicolas
6 years ago
LRMA
LRMA
0
Indicators
jiddan78 how to convert to afl amibroker ?
Nicolas We do not supply free coding assistance for AFL Amibroker on the website. You can ask for pa...
Ngomsi @ Vonasi, how to use timeframe , 13 minutes ,21 minutes, 34 minutes,et 55 minutes with this...

Top