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 • 284 days ago #

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

  2. rafadonl2 • 284 days ago #

    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 • 282 days ago #

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

    • rafadonl2 • 279 days ago #

      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 • 278 days ago #

      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 • 280 days ago #

    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 • 279 days ago #

      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 • 280 days ago #

    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 • 279 days ago #

      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 • 278 days ago #

    Muchas gracias. Have a good day.

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
T-rader I only get yellow candles. Can I change it?
ALE Please write any questions in this Topic "Heikin-Ashi candle smoothed TOPIC"
ALE T-rader Have you already find a solution?
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á...
Geronima Ortiz okay bien estaré pendiente en esta pagina gracias
Domenec Aqui dejo colgado link del video para ver como funciona el indicador https://www.youtube....
Geronima Ortiz Gracias Domenec
CN Added this to live. The issue I see is that it can have 100$-200$ win without taking the mo...
Leo This strategy does not have a Profit target, instead it has a Modified parabolic SAR which i...
odin here is my code c1 = ExponentialAverage[3](close) c2 = ExponentialAverage[5](close) c3 ...
juanj HI Odin Can you also kindly provide the code for the 'Short Term Trader Squezze' indicato...
odin this is the short term Trader squezze indicator. short term Trader in Trouble and squezze is...
Arnaud HALVICK Hello! Very nice screener. Thank you! I am using it to scan stocks (weekly). It is very good.
odin you welcome. i would be glad when the screener is nice for you
HeikinAshi what do you think about using the screener in smaller time units (H1, M30) on indexes? And w...
Geronima Ortiz I watched the video three times, but I can not put the npips parameter as a variable. I do...
Geronima Ortiz I think the video is for an old version of prorealtime, the images do not correspond at all ...
Nicolas indicator1 = CALL “PRC_StopReversal”[npips, 1] and define npips in the optimization window ...
odin look at the screener i upload a new rule based screener for this strategy to find long candi...
JanWd Very nice strategy, it does work indeed !! Very long time perspective. You can use this s...
Mary Hi Odin, thank you very much for the strategy. You said there is a screener you posted for t...
Caribeengeek Bonjour j’avais vu que vous proposiez d’écrire des codes pour ceux qui s’y connaisse pas Mai...
Caribeengeek Les devises unité
Nicolas Merci d'utiliser le forum pour les demandes de programmation personnalisée
Nicolas Please don't spam the comments. Should be hard because Smoothed Heikin Ashi are made with mo...
fabioerliam Sorry Nicolas...wasn't what I was thinking to do...I thought you couldn't received the notif...
Nicolas A tweaked version which allow to use timeframe in minutes: https://www.prorealcode.com/topic...
Nicolas Thank you for this valuable stock screener. However, I can't get bearish signals with the co...
Per Inge Thanks for your advice, that is useful and I will study that option. I found that problem as...
Nicolas You can send me updates through the form on the contact page: https://www.prorealcode.com/co...
juanj This gets me thinking about creating a strategy on the 5min timeframe that only takes trades...
GraHal I noted above does okay on DAX 10 min with even a reduction to 30 of the Stop Loss. I've s...
styrke Hello Nicolas, Nice screener, I appreciate the way you always try to condense at maximum th...
Nicolas There's no particular reason. RSI is widely use with its default period and results seems re...
Vonasi I noticed a couple of typo errors in the code. The list of variables lines 4 to 11 should be...
Genotik Thank you for your important contribution this week which is much appreciated! Happy New Yea...
Vonasi No problem. I hope they are useful to someone. Happy and hopefully prosperous New Year to y...

Top