Smoothed Heikin Ashi and SAR trading system signals

v10.3
Smoothed Heikin Ashi and SAR trading system signals

Heikin-ashi smoothed modified (from previous version) to reduce false signals. It includes SAR value to reduce false signals.

Rules in Heikin-Ashi:
1- White body sequence = upward trend.
  Sequence of black bodies = downtrend.
2- Strong bullish trend = Large white bodies and no lower shadows.
Strong bearish trend = Large black bodies without upper shadows.
3- When the tendency weakens small bodies appear with possible upper and / or lower shadows.
4- A consolidation occurs when small bodies appear with both shadows both above and below.
5- The reversal of a trend can be suspected with the appearance of small bodies with both upper and lower long shadows, or a sudden change of color

 

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?

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

  1. finplus • 10/10/2017 #

    Buenas noches, es posible que transforma este código en un screener? Gracias.Seria mas fácil para identificar les entradas.

  2. rafadonl2 • 10/10/2017 #

    Je ne suis pas expert avec screeners, mais je pense que si vous ajoute a RETURN la variable Flecha vous la pouvez utiliser pour le screener.
    Merci an avant

  3. Rafa • 10/10/2017 #

    Would be nice a screener about this, my knowledge about coding still limited

    • rafadonl2 • 10/10/2017 #

      for those who have requested a screener I attach one I have tested.

      //Reglas en Heikin-Ashi:
      //1- Secuencia de cuerpos verdes = tendencia alcista.
      // Secuencia de cuerpos rojos = tendencia bajista.
      //2- Tendencia alcista fuerte = Grandes cuerpos verdes y sin sombras inferiores.
      // Tendencia bajista fuerte = Grandes cuerpos rojos sin sombras superiores.
      //3- Cuando la tendencia se debilita surgen cuerpos pequeños con posibles sombras superior y/o inferior.
      //4- Una consolidación se da cuando aparecen cuerpos pequeños con ambas sombras tanto arriba como abajo.
      //5- La reversión de una tendencia se puede sospechar con la aparición de pequeños cuerpos con sombras largas tanto superiores como inferiores, o un cambio repentino de color.
      // parámetros
      ONCE SmoothPeriod=2
      ONCE period=5
      ONCE Kperiod=5
      ONCE Kspeed=2
      ONCE Dperiod=5
      ONCE entrada=0
      ONCE salida=0
      ONCE flecha=0
      ONCE Dflech=barindex
      ONCE xClose = (open+high+low+close)/4
      ONCE xOpen = open
      // ciclo normal
      IF BarIndex>0 THEN
      xOpen = (xOpen[1]+xClose[1])/2
      xClose = (open+high+low+close)/4
      ENDIF
      // SUAVIZADO con la media de 2 en las velas
      IF barindex>=(period+SmoothPeriod) THEN
      AvOpen=exponentialAverage[SmoothPeriod](xOpen)
      AvClose=exponentialAverage[SmoothPeriod](xClose)
      ENDIF
      // y ésta es la que uso
      //ha7 para indicar cruces
      // los valores para barindex<2 son especiales
      IF Barindex < SmoothPeriod then
      Opcl=Open[1]
      ELSE
      Opcl=Open
      ENDIF
      // calculo dos medias de 7 y de 14
      Media7 = Average[5](Opcl)
      Media10=average[10](Opcl)
      Alcista = AvOpen<AvClose
      Alcista1 = AvOpen[1]AvClose
      Bajista1 = AvOpen[1]>AvClose[1]
      //
      //ahora calculo el Estocástico
      LineaK=100*((close-lowest[Kperiod](low))/(highest[Kperiod](high)-lowest[Kperiod](low)))
      K=exponentialaverage[Kspeed](LineaK)
      D=exponentialaverage[Dperiod](K)
      //no puede haber dos operaciones en dos dias
      IF Dflech < barindex[2] then
      IF flechaD THEN
      IF (Opcl>Media7 or (Bajista1 and Alcista)) THEN
      if sar Media7 and Opcl>Media10 and Alcista) THEN
      flecha=1
      Dflech = barindex
      entrada=1
      ENDIF
      endif // cierra el tema del sar
      ENDIF
      ENDIF
      ELSIF flecha>=1 THEN
      IF K<D THEN
      IF (Opcl close then // para evitar señales falsas
      IF (Opcl<Media7 and Opcl<Media10 and Bajista) THEN
      flecha=-1
      Dflech = barindex
      Salida=1
      ENDIF
      endif // cierra el tema del sar
      ENDIF
      ENDIF
      ENDIF
      ENDIF
      // dibuja líneas en el tercer viernes de cada mes
      // Condiciones para entrada de posiciones largas
      IF NOT LongOnMarket AND entrada=1 THEN
      entrada=0
      BUY 1 CONTRACTS AT MARKET
      ENDIF

      // Condiciones de salida de posiciones largas
      If LongOnMarket AND salida=1 THEN
      SELL AT MARKET
      salida=0
      ENDIF

    • rafadonl2 • 10/10/2017 #

      I have modified some lines and it seems this version will work better. Even so, I recommend to test with different sets of values for the variables declared at ONCE and, mainly, not to use this indicator stand alone as automatic system to put orders. It works different accordingly to the stock values and from my point of view this is dangerous.

      ONCE SmoothPeriod=2
      ONCE period=5
      ONCE Kperiod=14
      ONCE Kspeed=3
      ONCE Dperiod=5
      ONCE flecha=0
      ONCE Dflech=barindex
      ONCE xClose = (open+high+low+close)/4
      ONCE xOpen = open
      // ciclo normal
      IF BarIndex>0 THEN
      xOpen = (xOpen[1]+xClose[1])/2
      xClose = (open+high+low+close)/4
      ENDIF
      // SUAVIZADO con la media de 2 en las velas
      IF barindex>=(period+SmoothPeriod) THEN
      AvOpen=exponentialAverage[SmoothPeriod](xOpen)
      AvClose=exponentialAverage[SmoothPeriod](xClose)
      ENDIF
      // y ésta es la que uso
      //ha7 para indicar cruces
      // los valores para barindex<2 son especiales
      IF Barindex < SmoothPeriod then
      Opcl=Open[1]
      ELSE
      Opcl=Open
      ENDIF
      // calculo dos medias de 7 y de 14
      Media7 = Average[5](Opcl)
      Media10=average[10](Opcl)
      Alcista = AvOpen<AvClose
      Alcista1 = AvOpen[1]AvClose
      Bajista1 = AvOpen[1]>AvClose[1]
      //
      //ahora calculo el Estocástico
      LineaK=100*((close-lowest[Kperiod](low))/(highest[Kperiod](high)-lowest[Kperiod](low)))
      K=exponentialaverage[Kspeed](LineaK)
      D=exponentialaverage[Dperiod](K)
      //no puede haber dos operaciones en dos dias
      IF Dflech < barindex[2] then
      IF flechaD THEN
      IF (Opcl>Media7 or (Bajista1 and Alcista)) THEN
      if sar Media7 and Opcl>Media10 and Alcista) THEN
      flecha=1
      Dflech = barindex
      //ENDIF
      endif // cierra el tema del sar
      ENDIF
      ENDIF
      ELSIF flecha>=1 THEN
      IF K<D THEN
      IF (Opcl close then // para evitar señales falsas
      IF (Opcl<Media7 and Opcl<Media10 and Bajista) THEN
      flecha=-1
      Dflech = barindex
      ENDIF
      endif // cierra el tema del sar
      ENDIF
      ENDIF
      ENDIF
      ENDIF
      // dibuja líneas en el tercer viernes de cada mes
      // Condiciones para entrada de posiciones largas
      IF NOT LongOnMarket AND flecha=1 THEN
      BUY 1000 CONTRACTS AT MARKET
      ENDIF

      // Condiciones de salida de posiciones largas
      If LongOnMarket AND flecha=-1 THEN
      SELL AT MARKET
      ENDIF

  4. Jessar • 10/10/2017 #

    Guten Tag, gibt es eine Möglichkeit sich den genauen Auslösepunkt der Signale anzuzeigen damit man diese Strategie manuell zu testen? Oder hat sie von euch schon einer automatisiert ? danke

    • rafadonl2 • 10/10/2017 #

      Here it is the screener. (sorry I don’t speak german).

      //Reglas en Heikin-Ashi:
      //1- Secuencia de cuerpos verdes = tendencia alcista.
      // Secuencia de cuerpos rojos = tendencia bajista.
      //2- Tendencia alcista fuerte = Grandes cuerpos verdes y sin sombras inferiores.
      // Tendencia bajista fuerte = Grandes cuerpos rojos sin sombras superiores.
      //3- Cuando la tendencia se debilita surgen cuerpos pequeños con posibles sombras superior y/o inferior.
      //4- Una consolidación se da cuando aparecen cuerpos pequeños con ambas sombras tanto arriba como abajo.
      //5- La reversión de una tendencia se puede sospechar con la aparición de pequeños cuerpos con sombras largas tanto superiores como inferiores, o un cambio repentino de color.
      // parámetros
      ONCE SmoothPeriod=2
      ONCE period=5
      ONCE Kperiod=5
      ONCE Kspeed=2
      ONCE Dperiod=5
      ONCE entrada=0
      ONCE salida=0
      ONCE flecha=0
      ONCE Dflech=barindex
      ONCE xClose = (open+high+low+close)/4
      ONCE xOpen = open
      // ciclo normal
      IF BarIndex>0 THEN
      xOpen = (xOpen[1]+xClose[1])/2
      xClose = (open+high+low+close)/4
      ENDIF
      // SUAVIZADO con la media de 2 en las velas
      IF barindex>=(period+SmoothPeriod) THEN
      AvOpen=exponentialAverage[SmoothPeriod](xOpen)
      AvClose=exponentialAverage[SmoothPeriod](xClose)
      ENDIF
      // y ésta es la que uso
      //ha7 para indicar cruces
      // los valores para barindex<2 son especiales
      IF Barindex < SmoothPeriod then
      Opcl=Open[1]
      ELSE
      Opcl=Open
      ENDIF
      // calculo dos medias de 7 y de 14
      Media7 = Average[5](Opcl)
      Media10=average[10](Opcl)
      Alcista = AvOpen<AvClose
      Alcista1 = AvOpen[1]AvClose
      Bajista1 = AvOpen[1]>AvClose[1]
      //
      //ahora calculo el Estocástico
      LineaK=100*((close-lowest[Kperiod](low))/(highest[Kperiod](high)-lowest[Kperiod](low)))
      K=exponentialaverage[Kspeed](LineaK)
      D=exponentialaverage[Dperiod](K)
      //no puede haber dos operaciones en dos dias
      IF Dflech < barindex[2] then
      IF flechaD THEN
      IF (Opcl>Media7 or (Bajista1 and Alcista)) THEN
      if sar Media7 and Opcl>Media10 and Alcista) THEN
      flecha=1
      Dflech = barindex
      entrada=1
      ENDIF
      endif // cierra el tema del sar
      ENDIF
      ENDIF
      ELSIF flecha>=1 THEN
      IF K<D THEN
      IF (Opcl close then // para evitar señales falsas
      IF (Opcl<Media7 and Opcl<Media10 and Bajista) THEN
      flecha=-1
      Dflech = barindex
      Salida=1
      ENDIF
      endif // cierra el tema del sar
      ENDIF
      ENDIF
      ENDIF
      ENDIF
      // dibuja líneas en el tercer viernes de cada mes
      // Condiciones para entrada de posiciones largas
      IF NOT LongOnMarket AND entrada=1 THEN
      entrada=0
      BUY 1 CONTRACTS AT MARKET
      ENDIF

      // Condiciones de salida de posiciones largas
      If LongOnMarket AND salida=1 THEN
      SELL AT MARKET
      salida=0
      ENDIF

  5. finplus • 10/10/2017 #

    Bonsoir. Je ne comprends pas très bien l’utilité de la variable “FLECHA” et je ne suis pas un expert en screener. Si quelqu’un veut bien nous aider, ce sera avec plaisir.

    • rafadonl2 • 10/10/2017 #

      Variable flecha est utilisé pour connaître si je suis a le système ou non.et aussi si j’avais montré a fleche ascendent ou décroissant.

      aussi le screener.

      //Reglas en Heikin-Ashi:
      //1- Secuencia de cuerpos verdes = tendencia alcista.
      // Secuencia de cuerpos rojos = tendencia bajista.
      //2- Tendencia alcista fuerte = Grandes cuerpos verdes y sin sombras inferiores.
      // Tendencia bajista fuerte = Grandes cuerpos rojos sin sombras superiores.
      //3- Cuando la tendencia se debilita surgen cuerpos pequeños con posibles sombras superior y/o inferior.
      //4- Una consolidación se da cuando aparecen cuerpos pequeños con ambas sombras tanto arriba como abajo.
      //5- La reversión de una tendencia se puede sospechar con la aparición de pequeños cuerpos con sombras largas tanto superiores como inferiores, o un cambio repentino de color.
      // parámetros
      ONCE SmoothPeriod=2
      ONCE period=5
      ONCE Kperiod=5
      ONCE Kspeed=2
      ONCE Dperiod=5
      ONCE entrada=0
      ONCE salida=0
      ONCE flecha=0
      ONCE Dflech=barindex
      ONCE xClose = (open+high+low+close)/4
      ONCE xOpen = open
      // ciclo normal
      IF BarIndex>0 THEN
      xOpen = (xOpen[1]+xClose[1])/2
      xClose = (open+high+low+close)/4
      ENDIF
      // SUAVIZADO con la media de 2 en las velas
      IF barindex>=(period+SmoothPeriod) THEN
      AvOpen=exponentialAverage[SmoothPeriod](xOpen)
      AvClose=exponentialAverage[SmoothPeriod](xClose)
      ENDIF
      // y ésta es la que uso
      //ha7 para indicar cruces
      // los valores para barindex<2 son especiales
      IF Barindex < SmoothPeriod then
      Opcl=Open[1]
      ELSE
      Opcl=Open
      ENDIF
      // calculo dos medias de 7 y de 14
      Media7 = Average[5](Opcl)
      Media10=average[10](Opcl)
      Alcista = AvOpen<AvClose
      Alcista1 = AvOpen[1]AvClose
      Bajista1 = AvOpen[1]>AvClose[1]
      //
      //ahora calculo el Estocástico
      LineaK=100*((close-lowest[Kperiod](low))/(highest[Kperiod](high)-lowest[Kperiod](low)))
      K=exponentialaverage[Kspeed](LineaK)
      D=exponentialaverage[Dperiod](K)
      //no puede haber dos operaciones en dos dias
      IF Dflech < barindex[2] then
      IF flechaD THEN
      IF (Opcl>Media7 or (Bajista1 and Alcista)) THEN
      if sar Media7 and Opcl>Media10 and Alcista) THEN
      flecha=1
      Dflech = barindex
      entrada=1
      ENDIF
      endif // cierra el tema del sar
      ENDIF
      ENDIF
      ELSIF flecha>=1 THEN
      IF K<D THEN
      IF (Opcl close then // para evitar señales falsas
      IF (Opcl<Media7 and Opcl<Media10 and Bajista) THEN
      flecha=-1
      Dflech = barindex
      Salida=1
      ENDIF
      endif // cierra el tema del sar
      ENDIF
      ENDIF
      ENDIF
      ENDIF
      // dibuja líneas en el tercer viernes de cada mes
      // Condiciones para entrada de posiciones largas
      IF NOT LongOnMarket AND entrada=1 THEN
      entrada=0
      BUY 1 CONTRACTS AT MARKET
      ENDIF

      // Condiciones de salida de posiciones largas
      If LongOnMarket AND salida=1 THEN
      SELL AT MARKET
      salida=0
      ENDIF

  6. finplus • 10/10/2017 #

    Muchas gracias. Have a good day.

  7. LucioleLucide • 174 days ago #

    Anyway so the arrows aren’t so hight compared to the candles ? Can’t see any offset

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
Nicolas Sorry but I dont understand your question. You can change the period of calculation at line ...
redcatalex I understand it. The question is, if I want to receive a signal not from level 0, but, for e...
redcatalex the question is removed, thanks. I had to learn programming))) everything was simple
Marius Hi Nicolas, would you mind to take a look at my comment here: https://www.prorealcode.com/pr...
tradingpro che periodi consigli sul dax ad un minuto ... grazie
Dong Kobe THANK YOU Nicolas
Sukhdev Golen Hi Nicolas, how to use this on tradingview?
Nicolas You can't. All codes here are made for the ProRealTime trading platform: https://www.proreal...
anthon Salut à tous et merci !
Varadero54 Bonjour Anthon ... pourrais-tu me communiquer l'adresse ou le nom de ta chaine YOUTUBE ... j...
cedric croze a premiere vue la chaine youtube n'éxiste plus
camporan You can use it 5M onwards, but the longer timeframe the more accurate it is. My preferred ar...
manchokcity can we have it in mql4 platform? or how or which platform do we use it?
camporan I don't use MetaTrader so I won't be able to do the translation myself. Sorry!
ggolfet I tried to use it (with prorealtime version 11 - end of day version). I receive an error mes...
Nicolas Try to reduce the displayed units of the chart. MaxScale should always be superior to Start...
ggolfet Thanks Nicolas, I imported the itf file and solved the problem.
winnie37 yes. "No ground breaking math here, but I am finding very useful and some algo based on it i...
Jan Wind Also interesting to know what does not work, which set up you use, saves me investigating ! ...
winnie37 i just set the proorder like this: buy when 50/100/200 phase >0 and sell when under 0, go...
Vinks_o_7
8 months ago
GraHal I confirm that I get almost exactly the same (+7 days difference now) results as Jan states ...
Jan Wind A discussion Topic is opened, and can be found at https://www.prorealcode.com/topic/di-tem...
nfulcher Please could someone explain how the following code is calculated:- iDI = TEMA[3](DI[DI2]...
Nicolas No. The code delivered on our website is for ProRealTime trading platform: https://www.pror...
growland1au Hi Nicolas, I am a beginner to this and I think your Pivot reversal strategy alerts indicat...
Nicolas I can't remember, if you can't find it anywhere in forums, open a new topic if you want it t...
avatar
unkown ;-) sfido chiunque a riuscirci!
avatar
unkown infatti basta leggere i post degli altri....
nicola papangelo ciao Francesco vorrei contattarti su facebook o in privato. Grazie
juanj DId some tests using MACD validations on higher timeframes using MTF functionality and unfor...
FREDNC Hi Francesco I tried with :
FREDNC adx[14]>adxmin and adx[14] > adxr[14] and adx[14]>adxmin and adx[14] DIminus[3](clo...
Maik2404 wie kann ich den Code bekommen Paul?
jens_kittner Works with US Crude at 1h as well!
Jean-Claude REGIS Je préconise de regarder les graphiques H1 et M15 pour visualiser la tendance de fond et d'...
Jean-Claude REGIS Merci Nicolas de la rep oui bien sur que le prix a une position identique le but est d'avoir...
cv Hi All, I am not very knowledgeable with coding. I have tried to add this indicator and get ...
Nicolas Download the .itf file and import it into the platform, you'll get all the necessary setting...
lokbuscas is it possible to make a screener with this conditions??? thank you
achel I believe so but I leave it to Nicolas to decide if it is possible
Nicolas Please open a new topic in the screeners forum
ALE Hello CV, The color of the candles depends on the values, if you try the indicator on the ...
cv Thank you Ale.
vanheckealain to remove color, just edit the code and comment to color selection //Colour Setting //MyD...
Vonasi Discussion on this indicator/filter can be found here: https://www.prorealcode.com/topic/121...
Vonasi Forum discussion on these indicators can be found here: https://www.prorealcode.com/topic/av...
jennr29 Hi. Is it possible to convert this code to an mq4 file?
Nicolas Sorry but our website is dedicated to prorealtime programming. However, you can ask for priv...

Top