Momentum-based ZigZag (incl. QQE) NON-REPAINTING

I spent a lot of time searching for the best ZigZag indicator . Difficulty with all of them is that they are always betting on some pre-defined rules which identify or confirm pivot points . Usually it is time factor - pivot point gets confirmed after a particular number of candles. This methodology is probably the best when market is moving relatively slow, but when price starts chopping up and down, there is no way the ZigZag follows accurately. On the other hand if you set it too tight (for example pivot confirmation after only 2 or even 1 candle), you will get hundreds of zigzag lines and they will tell you nothing.

My point of view is to follow the market. If it has reversed, then it has reversed, and there is no need to wait pre-defined number of candles for the confirmation. Such reversals will always be visible on momentum indicators, such as the most popular MACD . But a single-line moving average can be also good enough to notice reversals. Or my favourite one - QQE, which I borrowed (and improved) from JustUncleL, who borrowed it from Glaz, who borrowed it from... I don't even know where Quantitative Qualitative Estimation originates from. Thanks to all these guys for their input and code.

So whichever momentum indicator you choose - yes, there is a pick-your-poison-type selector as in in-famous Moving Average indicators - once it reverses, a highest (or lowest) point from the impulse is caught and ZigZag gets printed.

One thing I need to emphasize. This indicator DOES NOT REPAINT. It might look like the lines are a bit delayed, especially when compared to all the other ZigZag indicators on TradingView, but they are actually TRUE. There is a value in this - my indicator prints pivot points and Zigzag exactly on the moment they have been noticed, not earlier faking to be faster than they could be.

As a bonus, the indicator marks which impulse had strength in it. It is very nice to see a progressing impulse, but without force - a very likely that reversal on a bigger move is happening.

I'm about to publish some more scripts based on this ZigZag algo, so follow me on TradingView to get notified.

Notas de prensa: added headers to labels + some tiny adjustments
Notas de prensa: Code reusability fixes
Script de código abierto

Siguiendo el verdadero espíritu de TradingView, el autor de este script lo ha publicado en código abierto, para que los traders puedan entenderlo y verificarlo. ¡Un hurra por el autor! Puede utilizarlo de forma gratuita, aunque si vuelve a utilizar este código en una publicación, debe cumplir con las Normas internas. Puede marcarlo como favorito para usarlo en un gráfico.

¿Quiere utilizar este script en un gráfico?
I auto-execute TradingView Alerts into MT4/MT5 using this: 1-second delivery. Ping me if you need support with installation.


500 monedas
+1 Responder
Peter_O PineCoders
Nice and smooth. thanks a million.
One question though: what would be the best time-frame for this indicator?
+5 Responder
Peter_O volramp
@volramp, That part you need to figure out yourself :)
This is so powerful! I have been doing a replay on a 15 min timeframe and it's smooth. You Sir are awesome!

I have four noob questions for you please:

1. What do the numbers in blue and pink represent below a candle and how to use them in live trading?
2. What kind of alerts can be set on this indicator since it does not have a buy and sell trigger.
3. Just like a black zig-zag indicates a possible reversal, what does a big red decline indicate for the future?
4. Which other indicator/script would you suggest to use alongside yours?

The most powerful feature are those strength markings. It kind of predicts the future.

Thanks a ton, and cheers to you!

P.S: Do you sell premium indicators too?
+4 Responder
suprotrader suprotrader
@suprotrader, I solved Q2 using alertcondition. Here's the script if anyone else needs it.

alertcondition(qqeUP, title="Buy", message='Go long')
alertcondition(qqeDOWN, title="Sell", message='Go Short')

Q1, 3 and 4 remain. Thanks.
Peter_O suprotrader
@suprotrader, Guys, you need to using alertcondition(). It is archaic, going straight towards being deprecated. Read this "Alert(), alertcondition() or strategy alerts?" :
Peter_O suprotrader
@suprotrader, 1. they represent pivot-high and pivot-low levels. I have added these headlinds to the labels.
2. You have answered already :)
3. For sure avoid countertrading there. It means there is probably more force in this move.
4. I'm coding one at the moment.

Thanks for your kind words!
+1 Responder
@Peter_O, Thanks so much for responding to all the questions. Do you offer premium indicators too?
@Peter_O, Any update on Point 4?