Editors' picks
OPEN-SOURCE SCRIPT

Zigzag Trend/Divergence Detector

Updated
Pullbacks are always hardest part of the trade and when it happen, we struggle to make decision on whether to continue the trade and wait for recovery or cut losses. Similarly, when an instrument is trending well, it is often difficult decision to make if we want to take some profit off the table. This indicator is aimed to make these decisions easier by providing a combined opinion of sentiment based on trend and possible divergence.

⬜ Process

▶ Use any indicator to find trend bias. Here we are using simple supertrend
▶ Use any oscillator. I have added few inbuilt oscillators as option. Default used is RSI.
▶ Find divergence by using zigzag to detect pivot high/low of price and observing indicator movement difference between subsequent pivots in the same direction.
▶ Combine divregence type, divergence bias and trend bias to derive overall sentiment.

Complete details of all the possible combinations are present here along with table legend

snapshot

⬜Chart Legend
C - Continuation
D - Divergence
H - Hidden Divergence
I - Indeterminate

⬜ Settings

Zigzag parameters : These let you chose zigzag properties. If you check "Use confirmed pivots", then unconfirmed pivot will be ignored in the table and in the chart
Oscillator parameters : Lets you select different oscillators and settings. Available oscillators involve
  • CCI - Commodity Channel Index
  • CMO - Chande Momentum Oscillator
  • COG - Center Of Gravity
  • DMI - Directional Movement Index (Only ADX is used here)
  • MACD - Moving average convergence divergence (Can chose either histogram or MACD line)
  • MFI - Money Flow Index
  • MOM - Momentum oscillator
  • ROC - Rate Of Change
  • RSI - Relative Strength Index
  • TSI - Total Strength Index
  • WPR - William Percent R
  • BB - Bollinger Percent B
  • KC - Keltner Channel Percent K
  • DC - Donchian Channel Percent D
  • ADC - Adoptive Donchian Channel Percent D (Adoptive-Donchian-Channel)

Trend bias : Supertrend is used for trend bias. Coloring option color candles in the direction of supertrend. More option for trend bias can be added in future.
Stats : Enables you to display history in tabular format.

Overview of settings present here:

snapshot

⬜ Notes

  • Trend detection is done only with respect to previous pivot in the same direction. Hence, if chart has too many zigzags in short period, try increasing the zigzag length or chart timeframe. Similarly, if there is a steep trend, use lower timeframe charts to dig further.
  • Oscillators does not always make pivots at same bar as price. Due to this some the divergence calculation may not be correct. Hence visual inspection is always recommended.


⬜ Possible future enhancements
  • More options for trend bias
  • Enhance divergence calculation. Possible options include using oscillator based zigzag as primary or using close prices based zigzag instead of high/low.
  • Multi level zigzag option - Can be messy to include more than one zigzag. Option can be added to chose either Level1 or Level2 zigzags.
  • Alerts - Alerts can only be added for confirmed pivots - otherwise it will generate too many unwanted alerts. Will think about it :)





If I get time, I will try to make a video.
Release Notes
Added few things to settings
  • Option to draw zigzag on close prices (selected by default)
  • Option to show/hide divergence types.
  • Renamed BarIndex in stat table to Bar Time
  • Minor updates in layout


snapshot
Release Notes
Minor calculation corrections
Release Notes
Added alerts!!

snapshot

By default continuation and indeterminate are disabled for alerts. Note that, when not using confirmed pivots, we may get alerts on every bar as non confirmed pivots keep moving.

Alerts are configured using alert method instead of alertcondition. Hence, you will only see one option. Just need to select the indicator from alert dialog and press create:
snapshot
Release Notes
Made the trend based on zigzag supertrend as this is more appropriate
Release Notes
Added option for External Source.
Release Notes
Convert to pine 5
DivergencehiddendivergenceOscillatorspullbacktradeTrend AnalysistrenddetectorZig Zag Indicator

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer