Multi Fractals ZigZag High/Low

Multi Fractals ZigZag High/Low

Second version of this indicator, first one can be found here:

This new version draw only High/Low points of the fractals zigzag on chart. It draws major points (green and red squares) which are calculated with a lookback of 20 periods by default (“cp” parameter can be changed at will).

The minor points (green and red dots) are calculated the same way but with the default period divided by 2 (so 20/2=10 periods by default).

This indicator can be used to trade 123 pattern of any other kind of breakout strategies.


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. Seemore Profit • 215 days ago #

    Nothing gets added, a indicator sections opens on the bottom part of the chart but nothing anywhere all blank

    • Nicolas • 215 days ago #

      Please add it on price instead. Use the wrench at the upper left side of the chart.

  2. Loop • 212 days ago #

    Hi Nicolas,

    would it be possible to have a tradins system based on this indicator?

    I tried but it’s too complicate for my skills…

    Thanks a lot!

  3. geoken • 209 days ago #

    Hi! Is there any way to set an audio alarm or pop-out box alert when the fractal appear?  Any suggestions is greatly appreciated. 

    Thank you


  4. Stenozar • 176 days ago #

    Buongiorno Nicolas, mi scuso per l’ignoranza, ma non ho capito come si può utilizzare questo indicatore. Potrebbe spiegarlo brevemente?


    • Nicolas • 176 days ago #

      Questo indicatore disegna picchi massimi ei minimi basso per determinare le zone di supporto e resistenza. È tutto 🙂

  5. NYORKA • 165 days ago #

    Hello Nicolas

    Can this code be transferred to Tradingview charts? Thanks

    • Nicolas • 165 days ago #

      Certainly, but I will not do it.

  6. Vin's Regnault • 136 days ago #

    Bonjour Nicolas,

    Je tenais  à te remercier pour tout ce travail incroyable que tu fais pour nous !

    Merci quel indicateur de qualité !!

    Je te souhaite que le meilleur

  7. shephinc • 122 days ago #


    Thank you for amazing stuff you do here!

    I tried to make this into an indicator but it seems to lag ahead! is this by design or I do something wrong ? 🙂

    • Nicolas • 122 days ago #

      It’s not lagging, Fractals are confirmed few bars only after a new peak or trough had been discovered.

    • shephinc • 122 days ago #

      Ok! Thanx!

  8. SEBASTIEN DELABOETIE • 120 days ago #

    Hello Nicolas,

    Ok, i will try to speak english…

    I suppose this indicator repaint ?… am I right ?



    • Nicolas • 120 days ago #

      No it doesn’t. Points are drawn afterwards.

  9. Pietro Fontana • 101 days ago #

    Hi Nicolas,

    i wanna use this indicator in an automatica trading strategy. but it seems that is not possibile. I’ve changed the code so the function will return the last value obtained  but it seems that it’s not in sync with the draw. It a my error or is not possible to return the value for this indicator?


    //---external parameters
    //cp = 20
    once lastpoint = 0
    ATR = averagetruerange[cp]
    //---major zigzag points
    if high[cp] >= highest[2*cp+1](high) then
    LH = 1
    LH = 0
    if low[cp] <= lowest[2*cp+1](low)  then
    LL = -1
    LL = 0
    if LH = 1 then
    TOPy = high[cp]
    TOPx = barindex[cp]
    if LL = -1 then
    BOTy = low[cp]
    BOTx = barindex[cp]
    if LH>0 and (lastpoint=-1 or lastpoint=0) then
    DRAWTEXT("░",TOPx,TOPy+ATR/2,Dialog,Bold,20) coloured(200,0,0,255)
    lastpoint = 1
    last = 2
    if LL<0 and (lastpoint=1 or lastpoint=0) then
    DRAWTEXT("░",BOTx,BOTy-ATR/2,Dialog,Bold,20) coloured(0,200,0,255)
    lastpoint = -1
    last = -2
    //---mino zigzag points
    if high[round(cp/2)] >= highest[cp+1](high) then
    LLH = 1
    LLH = 0
    if low[round(cp/2)] <= lowest[cp+1](low)  then
    LLL = -1
    LLL = 0
    if LLH = 1 then
    LTOPy = high[round(cp/2)]
    LTOPx = barindex[round(cp/2)]
    if LLL = -1 then
    LBOTy = low[round(cp/2)]
    LBOTx = barindex[round(cp/2)]
    if LLH>0 then
    DRAWTEXT("º",LTOPx,LTOPy+ATR/2,Dialog,Bold,20) coloured(200,0,0,255)
    last = 1
    if LLL<0 then
    DRAWTEXT("º",LBOTx,LBOTy-ATR/2,Dialog,Bold,20) coloured(0,200,0,255)
    last = -1
    RETURN last as "last"
    • Nicolas • 100 days ago #

      Seems ok to me. However, you can take a look at this strategy that already show how to use it:

  10. paulon • 93 days ago #

    Hi Nicolas. I am very impressed with your work! 

    For real-time charts, could the Multi Fractals High/Low indicator be adapted so that it triggers an alert when a high or low point is created?

    • Nicolas • 93 days ago #

      It has been discussed many times, I believe already in the comments of this post or even in the forums. Please make a quick search 🙂

    • Eusebio Garcia Nuez • 87 days ago #

      please nicolas, ondas de wolf


Register or


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

+14 more likes

Related users ' posts
jebus89 Maybe a stupid question but im getting syntax error, the following variable is undefined: Pe...
Abz Hello, could you explain a little bit more about this , what numbers are you refering to ...
gabri ABZ, the 9 and 5 I was referring to are JUST EXAMPLES. You need to use this indicator when ...
Abz Thanks gabri
xel Hi! I found myself that the indicator posted here contain an error, I want to edit or fix i...
Mr_Balagan Bonjour, j'ai quelques questions concernant cette combinaison d'indicateurs qui à l'air inté...
larouedegann STE : Fonction statistique "erreur standard" de séries temporelles de N périodes pour le pri...
Mr_Balagan Merci pour ces informations précieuses larouedegann. J'y vois plus clair. Encore joli boulot
alex Im looking for a entry when EpicMA crosses over/under trigger. Then look for exits when Epic...
Toto le Heros Hi Nicolas, Thanks for this. Looks interresting. Unfortunately the display on my price gra...
Nicolas Use vertical axis alignment only in indicators setting
DonMasser Nicolas ( or anyone) would you know how to program a 'WAIT'. In other words, in auto tradin...
Thomas007 Is there any way to build something similar for FX? I wonder what would be the replacement f...
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...
2 months ago
oraclus Merci il lui ressemble bcp
juanj Think this is something we can experiment with in the 'universal' strategy along with the Bo...
atxeel Real Awesome, thank you man!
rispardin no entiendo como funciana este indicador, por favor alguien podria explicar como utilizarlo???
AVT No se trata de un solo indicador, pero cada linea muestra otra información, de abajo hacia ...
dzim0032 J'avais oublié de mettre un commentaire pour la vente du scalper dont les règles sont justes...
2 months ago
GraHal Ha I just looked back and I only did two posts in the Thread above; I've been dreaming about...
Toto le Heros Thanks Nicolas. This looks very interresting, despite I am not sure I fully understand it y...
Nicolas The KaseCD should also be coded, it is discussed in the Bard's topic here: https://www.prore...