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.

Note di rilascio: added headers to labels + some tiny adjustments
Note di rilascio: Code reusability fixes
Script open-source

Nello spirito di condivisione promosso da TradingView, l'autore (al quale vanno i nostri ringraziamenti) ha deciso di pubblicare questo script in modalità open-source, così che chiunque possa comprenderlo e testarlo. Puoi utilizzarlo gratuitamente, ma il riutilizzo del codice è subordinato al rispetto del Regolamento. Per aggiungerlo al grafico, mettilo tra i preferiti.

Vuoi usare questo script sui tuoi grafici?
I auto-execute TradingView Alerts into MT4/MT5 using this: 1-second delivery. Ping me if you need support with installation.



500 coin
+1 Rispondi
Peter_O PineCoders
Nice and smooth. thanks a million.
One question though: what would be the best time-frame for this indicator?
+8 Rispondi
Peter_O volramp
@volramp, That part you need to figure out yourself :)
+1 Rispondi
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?
+5 Rispondi
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?" :
kennairne suprotrader
@suprotrader, Where do you place the alert condition on the script, as if you placed it at the base you get an error message when you go to save it. Thanks. Ken
suprotrader kennairne
@kennairne, After these lines:

qqeUP= qqenew(qqeslow,SFslow,rsi_currenttf,ThreshHold,RSI_Period)==1
qqeDOWN= qqenew(qqeslow,SFslow,rsi_currenttf,ThreshHold,RSI_Period)==-1
//put it here
alertcondition(qqeUP, title="Buy", message='Go long')
alertcondition(qqeDOWN, title="Sell", message='Go Short')
kennairne suprotrader
@suprotrader, Many thanks for your explanation...Much respect. Ken