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

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

    • rafadonl2 • 60 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 • 59 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 • 61 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 • 60 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 • 61 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 • 60 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 • 60 days ago #

    Muchas gracias. Have a good day.

avatar
Register or

Likes

avatar avatar avatar avatar avatar
Related users ' posts
raphaelopilski great job. is it possible to make a strategy about it?
Onetime Bonjour je viens d'essayer votre indicateur sauf que moi j'ai pas les signaux ( les flèches ...
Onetime Pardon non enfait ils sont bien la merci
Rolanbay Merci beaucoup, c'est exactement ce qu'il fallait faire.
Youness Charif Bonjour Nicolas, L'indicateur s'affiche dans une fenêtre en bas et non pas sur le cours....
Nicolas Appliquer l'indicateur sur le prix à l'aide de la clé à molette située en haut à gauche de v...
Toto le Heros Tx Nicolas. Looks very interresting. No text display on my charts. Any specific option to ti...
Nicolas Be sure to have these settings set with these values: //edblHigh1 = 0.04 //edblLow1 = -0....
Toto le Heros Ok, got it ! Great ! Tx
primo1 Bonjour Nicolas, sur quelle échelle de temps minimum tu utilises l indicateur je pense...
primo1 Bonjour Nicolas Pour créer la strategie comment peux tu traduire l"apparition des points....
Nicolas Exemple dans ce sujet du forum ProOrder : https://www.prorealcode.com/topic/perfect-trend-in...
Dymjohn I have a copy of this strategy in IG MT4 and for those who want an explanation the book whic...
Dymjohn I believe the QQE Adv needs adding with default settings of 1,8,3 to complete the strategy. ...
patrick3 Merci beaucoup Nicolas pour le temps que tu passes à aider les autres, qui comme moi sont nu...
nwesterhuijs //PRC_SwingLine Ron Black | indicator //20.09.2017 //Nicolas @ www.prorealcode.com //Shar...
sally31120 Bonjour, Je n'arrive pas à faire fonctionner cet indicateur? Quel est le bon code dans sa ...
Nicolas Il suffit de le télécharger, de l'importer et de l'appliquer sur le graphique du prix.
JR1976 Dear Mike , your screener seem interest and simple... Do you try to envelope an automat...
Nicolas Good job, but I think there is something wrong in the description since trade direction is c...
victormork It didn't work using the add PRT code button. I'll try again without it. //SHORT // Sel...
victormork sorry the code keep on changing when I press post comment. Basically you have to complete th...
Stefan Arens Hi Vicormork, i´am sorry - but it still doesn´t work. I can´t correct the error. Prorealtim...
gabri Francesco, I just tried to code an idea from Maximus 78 (https://www.prorealcode.com/topic/...
Paul Good work ! I was looking for way to maximise profits and this serves it's purpose well !
gabri Thanks!!
JohnScher Hello. I use your ThreeLiner in manual trading with as an indicator. He works very well. ...
Nicolas You can measure a distance with a simple substraction :)
JohnScher Hello, Nicolas. Thank you! But then I can't! I m sorry. I have the same problem with ...
gabri GraHaL, I cannot see any link attached. I mostly manual trade but for stocks with strong fi...
GraHal Yes sorry, I set up a link to a screen shot on my google drive and then I got locked into th...
gabri Here's the thread https://www.prorealcode.com/topic/multiframe-rsi-of-rsi/
David Balance thanks for sharing this excellent indicator.  Here are some thoughts.  please ad...
imokdesign Hi Everybody, when I look at the strategy I felt the need to implement a Moneymanagement-Sy...
Inertia newlevel then multiplier=multiplier+1 oldlevel=newlevel newlevel=strategyprofit+startequi...
Inertia Hi Bjoern, I was playing around with your code this morning (EUR/USD 5'). Thank you to the...
Gennadiy Thank you, very much, Nicolas, for this wonderfull Indicator! I have a question. I have adde...
Gennadiy Here is my code: RETURN long as "long signal", short as "short signal", weightedaverage[MApe...
Gennadiy Here is the link to the image: http://ipic.su/img/img7/fs/Candle.1503737934.png
supertiti Thanks you so much Lucassen
dreif123 hi, copied the above code, not working on 10.3 the system says "return can only be used at ...
LUCASSEN Hallo , i have no problem , and i have the same versie 10.3, maybe you can ask Nicolas, tha...

Top