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 • 08/03/2016 #

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

    • Nicolas • 08/03/2016 #

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

  2. Loop • 08/03/2016 #

    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 • 08/03/2016 #

    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 • 08/03/2016 #

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

    • Nicolas • 08/03/2016 #

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

  5. NYORKA • 08/03/2016 #

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

    • Nicolas • 08/03/2016 #

      Certainly, but I will not do it.

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

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

    • shephinc • 340 days ago #

      Ok! Thanx!

  8. SEBASTIEN DELABOETIE • 337 days ago #

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

    • Nicolas • 337 days ago #

      No it doesn’t. Points are drawn afterwards.

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

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

  10. paulon • 310 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 • 310 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 • 304 days ago #

      please nicolas, ondas de wolf

  11. Real Pro • 199 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 • 172 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 • 172 days ago #

  13. maisechogela • 155 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 • 155 days ago #

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

  14. redz • 88 days ago #

    bonjour, tres indicateur, juste une question, les points apparaissent a la cloture de la bougie ou apres confirmation de la suivante ?

    • Nicolas • 87 days ago #

      Les points hauts et bas apparaissent après une confirmation de X bougies définis par la variable “cp” paramétrable.

  15. redz • 88 days ago #

    et aussi, quand y a le rond et la grille, cela veut dire que le signal est plus fort ?

    • redz • 87 days ago #

      donc on peut scalper directement la bougie suivante, tres bon indicateur, bravo encore nicolas

  16. mcha • 77 days ago #

    Merci Nicolas pour cet indicateur à variable cp ajustable
    comment relier les points zigzag non pas par classe (points mineurs ou majeur) mais par leur succession alternative de high et de low

    • Nicolas • 77 days ago #

      Pour créer un espèce de canal ?

    • mcha • 77 days ago #

      Encore félicitation pour cette réactivité.
      Je ne pensais pas aller aussi lojn mais si c’est faisable, les points de contact étant de potentiels point de rebond et on peut aller jusqu’à décompter (comme les vagues d’Eliott au sein d’un canal) cf indice DJ. Encore merci

    • Nicolas • 77 days ago #

      Merci de faire une demande spécifique à ce sujet dans le forum ProBuilder. J’y regarderai alors dés que possible.

Register or


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

+19 more likes

Related users ' posts
GraHal Wow! Thank you Vonasi, great idea!
Vonasi No Problem GraHal. Please share anything interesting that you find using it.
Vonasi I've made a small improvement by adding a Buy and Hold line for comparison. This line can be...
Nicolas You can also test values of indicator. Equal or not to 1 for example.
Nicolas No, but if you are able to code, you can use any of the codes around here and improve them f...
Inertia Thank you Nicolas. Nice one ;)
3 weeks ago
Real Pro Thanks for sharing so much work. This goes in the indicator window, yes?
Real Pro It's ok, I imported the rtf as suggested now it works. What I'm seeing is this - in a sol...
Vonasi Thanks for your thanks Real Pro and yes everyone should import the itf file to make sure tha...
winnie37 Merci Nicolas. J'ai un bug d'affichage quand j'utilise ton indicateur. La bougie en cours ...
Nicolas Cela permet de tester si on a changé de minute sur la barre courante
Mert Hello Nicolas, I do not now if this is the place to ask but I would like to ask you somethin...
Nicolas This is not the right place, please open a new topic in ProOrder forum. This question has be...
Toto le Heros Thanks Nicolas. I read somewhere that in the calculation, we should round the value of the A...
Nicolas aADX = round(adx[10])
1 month ago
Rainbow Oscillator
Rainbow Oscillator
Maxime Baudin Interesting, thanks! Combine this indicator with the bollinger bands there is enough to make...
1 month ago
Alai-n Thanks...
2 months ago
CCI Correction.IND
CCI Correction.IND
Bard From the url link #post-65420 above but without the chart image: Stocks & Commodities...
Bard Note: lter = filter
Bard Apologies, there's been an issue with copying "f" and "I" from the article and pasting.. whi...
fabioerliam Hi Nicolas, can you create the same indicator for the heikin ashi smoothed? I've tried to cr...
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 With: autoRenko=1 //automatic renko brick size based on 2 time ATR periods autoVolume=1 /...
Real Pro Thank you. I tried the following but it does plot but not as I'd expect. //PRC_Renko Bri...
Real Pro working now, sorry for the bother
beppe8949 Ciao Nicolas! Perdonami, ma come si fa a estendere il periodo dell'indicatore a 100 000 unit...
beppe8949 No ok ho risolto! Grazie :)
stecr Ciao a tutti e a NIcolas, vpoichè con lo zigzag non è attendibile l'ultima barra (visto che...