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

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

    • Nicolas • 157 days ago #

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

  2. Loop • 154 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 • 151 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 • 118 days ago #

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


    • Nicolas • 118 days ago #

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

  5. NYORKA • 107 days ago #

    Hello Nicolas

    Can this code be transferred to Tradingview charts? Thanks

    • Nicolas • 107 days ago #

      Certainly, but I will not do it.

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

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

    • shephinc • 64 days ago #

      Ok! Thanx!

  8. SEBASTIEN DELABOETIE • 62 days ago #

    Hello Nicolas,

    Ok, i will try to speak english…

    I suppose this indicator repaint ?… am I right ?



    • Nicolas • 62 days ago #

      No it doesn’t. Points are drawn afterwards.

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

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

  10. paulon • 35 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 • 35 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 • 29 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

+13 more likes

Related users ' posts
GraHal Thank you Nicolas, surely you can't sleep more than 4 hours per night? :) Discussions goi...
GraHal Ha I just looked back and I only did two posts in the Thread above; I've been dreaming about...
gabri Franz, can this code work for you? count=1 i=0 j=i+1 tot=0 //calcolo 3 barre while co...
Francesco78 Hi, can you show at least one strategy that works well with this indicator? The idea is nic...
gabri Francesco, I just tried to code an idea from Maximus 78 (
Maz I like this
atlante je me demande si prorealtime pourrait etre programee sur fonction lorsquún point cgange de c...
4 weeks ago
Nicolas Thanks Pier for this contribution. Your indicator has a lot of similarity with the Direction...
Cris48  Nice Pier, I put inside also the adx .... //settings//b=20 if low < low[1] thenllv = (...
manel Hi - have come across a difference here in the calculation of the indicator. It's meant to r...
Nicolas I don't know, the code of this indicator is one from another platform, not the Three Line Br...
manel Ok, many thanks. I've tried messing around with the code myself but am no closer to solving ...
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
supertiti Felicidades Laurenzo d'avoir pris le temps pour ce gros travail et en plus dans l'esprit du ...
gatarayihajp Hello,  It's very interesting indicator. Could you explain more about it? Thank a lot
1 month ago
Pocket Pivots indicator
Pocket Pivots indicator
@Dazzle101 Sorry, Line 139 should say; RETURN ind1 COLOURED(0, 0, 200) AS "Pocket Pivot" When posted...
Pietro Fontana Hi Ale, the use is similar to other oscillator, mainly divergence. In this link you will f...
Pietro Fontana Hello people, i've made a little modification in the code for eliminate the function call. ...
Nicolas Very cool! Thanks a lot for the update! much appreciated :)
Jean-Pierre Poulain When I buy and when I sell ?
Nicolas The featured image of the post do not deserve the indicator you are right, I attached other ...
Nicolas It is described in the post already :) The BUY/SELL signals are quite similar of what you ca...
2 months ago
Close Series
Close Series
diegofe_2000 Gracias Nicolas , muy buen indicador , excelente para hacer sistemas, muy buenos resultados,...
Tedvin Nice one, thanks a lot Maz :)
victormork Thanks Man!!
MtraderWD40 Many thanks for sharing this, simple but a great indicator. Used it successfully for visual ...