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

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

    • Nicolas • 334 days ago #

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

  2. Loop • 331 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 • 328 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 • 295 days ago #

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

    • Nicolas • 295 days ago #

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

  5. NYORKA • 284 days ago #

    Hello Nicolas
    Can this code be transferred to Tradingview charts? Thanks

    • Nicolas • 284 days ago #

      Certainly, but I will not do it.

  6. Vin's Regnault • 255 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 • 241 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 • 241 days ago #

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

    • shephinc • 241 days ago #

      Ok! Thanx!

  8. SEBASTIEN DELABOETIE • 239 days ago #

    Hello Nicolas,
    Ok, i will try to speak english…
    I suppose this indicator repaint ?… am I right ?

    • Nicolas • 239 days ago #

      No it doesn’t. Points are drawn afterwards.

  9. Pietro Fontana • 220 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 • 219 days ago #

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

  10. paulon • 212 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 • 212 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 • 206 days ago #

      please nicolas, ondas de wolf

  11. Real Pro • 100 days ago #

    Hi Colin,
    How would one add horizontal lines from the pivot points? I’d like to try to create a system where one buys the breakout above the line. Thankyou.

  12. Abbeymac • 73 days ago #

    I don’t understand which folder we’re to put this file. couldn’t find it in my indicator folder after copyin it there, same thing as Template folder. What’s needed to be done, please advise. Thanks

    • Nicolas • 73 days ago #

  13. maisechogela • 56 days ago #

    HI Nicolas,

    Thank you for the indicator. However, I am having a tough time loading the indicator onto metatrader 4, as I am not familiar with the the platform on the youtube video made. Please help

    • Nicolas • 56 days ago #

      This website is dedicated to prorealtime programming, these codes are not compatible with MT4!

Register or


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

+16 more likes

Related users ' posts
Vonasi Thanks for sharing this Leo. I love anything that helps us understand where we are at in the...
swapping Merci Leo, very cool simplement pour la visualisation des plus haut et bas de la journée pas...
Mert Hello. It seems that when I reload the chart the candles are looking different than before. ...
Alai-n I also have the same problem that I can not solve especially on LowVolume (Yellow) ... Sorry
Mert No need to apologise, my friend. It is great code. I hope you find a solution soon. Regards.
Vonasi There is another very minor bug fix. The indicator description when you hover over the speec...
Reiner great work:-)
Vonasi Thanks Reiner. that is compliments indeed from the seasonality expert. I have a second vers...
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...
DarioMazza Hi Vonasi, i have a question for you, the comand "pricetype" where did you found it in the ...
Vonasi PriceType is just a variable that I use. The value decides what type of price is used in the...
Vonasi I noticed a couple of typo errors in the code. The list of variables lines 4 to 11 should be...
Vonasi The indicator code can easily be adapted for use as a filter in strategies as well. For exam...
AVT Tested today in manual DAX trading (transcripted to MT and changed look into aka oszillator)...
Vonasi I think that short time frame charts will be too noisy for this indicator. One blue bar real...
Vonasi I forgot to mention in the description that Sunday pivot lines are ignored and Monday's pivo...
AVT Like that, simple and clear!
Vonasi Thanks AVT. I like simple - some people would say that I do simple very well! Sometimes you ...
3 weeks ago
Yannick merci, interessant, une idée comment élaborer une stratégie d'après cet indicateur?
Marcel Would be nice if the idicator can be adjusted for the 4 phases of Stan Weinstein.
Nicolas Sure, but it has absolutely nothing to deal with...
MaoRai54 Hi, first of all Happy New Year. Well, I've inserted your indicator in DAX 1h but I cann...
Vinks_o_7 Hi Mao Happy New Year ! This is just an improved RSI where you plot a standard price momen...
LuisMi Hello merci pour l'indicateur j'ai un message d'erreur Veuillez définir la variable suiva...
LuisMi J'ai trouvé pour rajouter les variables... thanx for indicator
Inertia Very nice Franceso. Like it. Q: to turn your indicator into a strategy, shall I just replac...
supertiti Podemos añadir este codigo para tener las flechas : /////////////////////////////////////...
DaxRider Thank you Supertiti for your contribution best wishes
Warath Bonjour, tout nouveau sur le forum, j'essai de comprend un minimum la programmation et j'ai ...
Sonia Bonjour, Warath, je ne sais pas si tu as eu ta réponse ? Je débute aussi mais je pense pouvo...
Nicolas Merci Sonia :)
4 weeks ago
TradeNavigator RSI
TradeNavigator RSI
Nicolas Tutte le impostazioni che hanno la parola "period" sono quelle dedicate ai periodi di cambio...
GianfrancoCeck Le chiedo una ultima cosa, ossia se è possibile personalizzare l'indicatore con una scritta ...
Nicolas Spiacente che non sia possibile, le coordinate grafiche non sono in pixel ma nel prezzo e ne...
1 month ago
larouedegann // ENABLED PARNER 1-0 / ON-OFF ONCE PrEnabled01 = P01 // SWITCH INDICATOR P0...
ALE P01 , it’s the first patner of the indicator, I hope to add others in future.
ALE We can discuss about the strategy here:
swapping merci gabri, on va le mettre à l'essai ;)
1 month ago
Trinity Impulse
Trinity Impulse
ribou bonjour Nicolas Bravo pour l'ensemble de ton oeuvre très riche en informations de qualité ...
Nicolas Cet indicateur nécessite que l'instrument possède des Volumes. Sinon il ne pourra pas se cal...
ribou ah d'accord merci beaucoup
Alai-n Merci pour ce travail...
patmaba merci Alai-n. C'est ma première participation sur prorealcode, merci pour à toi pour ton co...