ZigZag SupDem (supply and demand zones)

ZigZag SupDem (supply and demand zones)

The ZigZag SupDem Zones Indicator detects support and resistance (supply and demand) zones using peaks and troughs formed by the ZigZag.
Depending on the timeframe used, it is necessary to set the necessary percentage to form a new peak or trough, by default that is set to 3%, ideal for most instruments on a unit of daily time.

The detection will be done only on the last periods set by the variable “lookback”.
The detection is validated if the indicator finds at least “minPoints” troughs or peaks not more distant than at most “threshold” in percentage.

  • percent = 3 (percentage change of ZigZag to get new peaks and troughs, new swings)
  • lookback = 200 (the period to search for supports and resistances)
  • threshold = 1 (percentage to validate another zigzag from the one previously found to validate a support or a resistance)
  • minPoint = 2 (at least it takes 2 swings of the same type, located one another less than “threshold” percent to validate a support or resistance)


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. Makabro • 03/13/2019 #

    Hola Nicolas,tengo un problema cuando importo el .itf pone que esta instalado correctamente,pero cuando lo añado ,se añade debajo del precio en una ventana nueva,como si fuese un rsi o un macd…me salen las velas de frenada y compra, pero me salen por abajo no en el mismo precio…como podrĂ­a arreglarlo ?
    Felicidades por el trabajo realizado.

  2. Nacho Bosquet • 03/13/2019 #

    Hola Nicolas,…. ÂżTienes disponible algĂşn screener para ondas de wolfe? Haces un trabajo increĂ­ble!!!! Gracias!!!

  3. pedrohcarvalho@yahoo.com.br • 03/13/2019 #

    Hola Nicolas, por si acaso tienes el cĂłdigo de la funccion ‘ ZIgZAG’ ? O… sabrias como desarrollar solamente esta funccion? Muchas Gracias!!!

    • Nicolas • 03/13/2019 #

      Esta funciĂłn es interna y no puede reproducirse con el mismo comportamiento por cĂłdigo (repita en tiempo real la Ăşltima parte superior o inferior).
      Los indicadores de fractales también son un buen enfoque para encontrar las partes superiores e inferiores, hay muchos indicadores basados en ellos en la biblioteca.

  4. MrMUCKIE • 03/13/2019 #

    Would there be a way to derive these support/resistance figures for automatic trading?

    • Nicolas • 03/13/2019 #

      That’s not possible because the code uses ZigZag instruction from the platform which is not reliable for automatic trading (and not allowed by the system).

  5. MrMUCKIE • 03/13/2019 #

    Thanks Nicolas. Do you have any idea of how I could generate support/resistance figures for automatic trading?

    • Nicolas • 03/13/2019 #

      Try fractals, swing high/low points, donchian channel, ..

  6. IV Mcm • 212 days ago #

    Thank you for this indicator Nicolas, very useful for Range detection.

  7. MrMagic • 188 days ago #

    Hi @Nicolas , I tried importing the ITF files and even directly copying the above indicator into my PRT and it came up blank both times. Is there something I’m missing?

    • Nicolas • 187 days ago #

      Try to modify the settings? The percentage of zigzag might be too large?

    • MrMagic • 172 days ago #

      Sorry for the late response. I gave up using it. Tried modifying the settings but it still came up at the bottom of the chart blank. It’s also comes up different from the photo above where it creates a different space for the indicator rather than show on the price as above.

    • Nicolas • 172 days ago #

      If you add it on the price chart (by using the wrench on the left upper side of the price chart), then it should comes up on the main chart 🙂

  8. MrMagic • 166 days ago #

    Thanks. On point. 🙂

  9. Marie Chidais • 43 days ago #

    ajout du prix
    A faire tourner en 1 heure 50 unités dans tout petite fenêtre.
    Alors merci au créateur.

    //PRC_ZigZag SupDem | indicator
    //Nicolas @ http://www.prorealcode.com
    //Sharing ProRealTime knowledge

    defparam drawonlastbaronly=true
    defparam calculateonlastbars=1000

    // — settings
    //ecartmini = 3 //zigzag ecartmini
    //lookback = 100 //max history lookback
    //eliminanciens = 1 //price ecartmini between 2 ZZ points
    //minPoint = 2 //minimal points to confirm S/R
    //showSupport = 1 //plot support zones or not? (0=false;1=true)
    //showResistance = 1 //plot resistance zones or not? (0=false;1=true)
    // — end of settings

    //zz s/r
    zz = ZigZag[ecartmini](customclose)
    p = zzzz[2]
    t = zz>zz[1] and zz[1]<zz[2]
    if p then
    top = zz[1]
    if t then
    bottom = zz[1]

    once minPoint = max(2,minPoint)

    for i = 1 to lookback do
    if showResistance then
    //new peak
    if p[i] then
    topdata = top[i]
    hhtop = topdata+(customclose[i]*(eliminanciens/100))
    lltop = topdata-(customclose[i]*(eliminanciens/100))

    for y = i to lookback do
    resttest = resttest + (top[y]lltop)
    if resttest>=minPoint then
    //drawarrowdown(barindex[i],topdata) coloured(255,0,0)
    drawsegment(barindex[lookback],topdata,barindex[1],topdata) coloured(255,0,0)
    if showSupport then
    //new through
    if t[i] then
    data = bottom[i]
    hh = data+(customclose[i]*(eliminanciens/100))
    ll = data-(customclose[i]*(eliminanciens/100))

    for y = i to lookback do
    suptest = suptest + (bottom[y]ll)
    if suptest>=minPoint then
    //drawarrowup(barindex[i],data) coloured(0,255,0)
    drawsegment(barindex[lookback],data,barindex[1],data) coloured(0,255,0)

    hprice = highest[lookback](customclose)
    lprice = lowest[lookback](customclose)

    prix = Close
    return prix as “supports et rĂ©sistances” //coloured(153,153,0)

Register or


avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
StephFor //ind1 = ZigZagPoint[2*averagetruerange[200]](close) avr = 3 //3% ind1 = ZigZag[avr](close...
Manu L. @Steph un grand merci pour ton aide mais :-( J'ai copier le code tel quel mais cependant j...
AlphaMauss Je n'ai pas réussi à faire fonctionner l'indicateur avec le code fourni en commentaire sur P...
fazel53 How do i attach this indicator to my mt5 platform?
Nicolas You can't! All indicators here are for ProRealTime trading platform: https://www.prorealtime...
Canis Majoris Hi , Helpful indicator ...
Maxime Csls Bonjour Vonasi, Bravo pour ton travail ! Est-il possible de créer un screener quand le prix ...
Bhanu Pratap Great Work Sir, Hats Off.
bolsatonimora2 Hi Roberto, It is possible to modify this indicator which it marks the supports and resist...
robertogozzi What do you mean by "very high volume"? What do you want to be printed exactly?
Kris75 Merci Jeanguy, suis très preneur de vos stratégies profitables avec cet indicateur !!
Screw27 Salut je vient d’installer ton indicateur mais il fonctionne pas ça m’indique un message d’e...
Canis Majoris Hello, Is there any user guide for this interesting indicator ? Thanks in advance
Bard Very interesting approach Vonasi! I'm getting a 404 error when trying to download though?
Vonasi I just tested and I was able to download with no error.
Psari Hi Vonasi, I am a newbie and was wondering whether you could possibly help me with this pro...
Vonasi Yes that was the issue. I have posted an updated ITF file here: https://www.prorealcode.com/...
crolakstrading @vonasi Thank you for fixing the issue! This is a great indicator.
gregoire good evening vonasi , I had made the request to create this indicator a few years ago and I ...
Giogio hello dear Vonasi, thank you for your indicator, can I ask you for some help in order to let...
Pottar24 HI Vonasi I would like to know how can this algorithm give me the value of the last max e mi...
parthapersonal Hello Vonasi, Great work. Is it possible to replicate this to get values of "Price Line" (1...
tobytarczy Hi Vonasi, Sounds lovely, I race yachts around europe myself. Most regattas cancelled unfor...
mlouys Hello Vonasi thank for your work ! A question how can we do it for minutes ( or 15 min or x ...
Vonasi I think that would be possible but probably in a whole new indicator as detecting when a new...
Vonasi That should be possible - I'll add it to my list to work on!
thierrybl Thanks a lot
B-ling1 Hi Vonasi, I love this indicator - good job! Just one question: If I want the monthly OHLC L...
Vonasi There is another version of this indicator that can plot the same lines but onto an indicato...
Martin35 Hello Vonasi, do you think it is possible with PRT to code with the same principle as on thi...
abhay I am getting a shading between the lines, how can I avoid that. I just want to see lines as ...
Vonasi Delete the 'Color Zone' in the indicator settings window.
Steffen Schmauch hello Nicolas, can I change the indicator that I only get the time of 8-9 clock displayed? a...
bertrandpinoy je constate que de plus en + de trader utilise des zones de prix pour leur positions. elles ...
Nicolas Pas Ă  ma connaissance, mais on pourrait le coder, merci de formuler une demande dans le forum.
robertogozzi You can find it at https://www.prorealcode.com/topic/pivot-support-resistance-bands/. I hop...
Bard Yes, thanks, appreciated.
mscharstrom Hi @robertogozzi, I really love this indicator. However, I'd like to tinker with it to fit ...
teddy58 Ich habe es mit N= 1,5 und N=2,5 getestet mit 200000 Einheiten. Es funktioniert leider erst ...
Matriciel I use this indicator to help me make a decision when there is a divergence. The divergences ...
Jan Wind Hi, I personnaly am not a big fan of ZIGZAG indicator, as it repaints itself during time. ...
Nicolas Peut-être à cause du manque d'historique. Celle-ci est utile pour limiter la quantité de ret...
s00071609 Would it be possible to use 2 or 3 points to do the calculations done in this case using zig...
Nicolas Sure, I suggest you open a new topic in the forum to discuss about your ideas.
3 years ago
TAC Bolsa Here you have the information of the indicator. https://www.tiburonesdealetacorta.com/searc...
Tradingrob Hi Tac Bolsa, thanks for the information. But after carefully ready all the material i still...
TAC Bolsa Hello, the indicator creates the support depending on the volume and is dynamic.