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 • 82 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
Related users ' posts
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...
supertiti Bonjour Anthon...y ? On est vraiment tout près de ce que propose Julien , sur sa dernière...
anthon Salut à tous et merci ! Content que les indicateurs vous plaisent . Abonnez vous à ma page y...
Varadero54 Bonjour Anthon ... pourrais-tu me communiquer l'adresse ou le nom de ta chaine YOUTUBE ... j...
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
5 months ago
Jan Wind fatcat, sorry to hear. Today I did run the code for 100.000 bars (from 17 dec 2017 till 31 ...
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...
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...
Francesco78 derschnee spiace a me che non riesci a replicarla. Prima di esprimere giudizi pensaci 2 volte.
avatar
unkown ;-) sfido chiunque a riuscirci!
avatar
unkown infatti basta leggere i post degli altri....
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
cv I noticed T-Radar mentioned that all his candles are yellow, mine are too. Is there anything...
ALE Hello CV, The color of the candles depends on the values, if you try the indicator on the ...
cv Thank you Ale.
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...
Domenec Hola Nicolas todo y el suavizado es como el awesome da ala señal 3 velas atrasada a veces de...
pableitor Hola Domenec, un indicador muy original y util que ciertamente añade mucha informacion a la ...
Domenec Hola Pableitor porque aqui lo que pretendo es programar un nuevo codigao mas ajustado para q...
Juanjo Hola Domenec. He visto en los videos que hablas continuamente de mercado de futuros con grá...

Top