OPEN-SOURCE SCRIPT
Updated Multi Level ZigZag Harmonic Patterns

Lets make things bit complicated.
Main difference between this script and the earlier Multi Zigzag Harmonic Pattern is the calculation logic of Zigzag 2, 3 and 4
In the earlier script, all zigzags were plain and were calculated on the basis of different lengths. (Such as 5, 10, 15, 20). These were derived on the basis of Multi Zigzag indicator
In this script, Zigzag 2, 3 and 4 are calculated in slightly different way. They are calculated on the basis of previous zigzag. This means, Zigzag 1 will be the input for Zigzag2 calculation and Zigzag 2 will be the input for Zigzag3 and so on. This is demonstrated in the script - Multi Level Zigzag
One important parameter which is specific to this script is: UseZigZagChain
If checked:
This can lead to patterns covering huge number of candles as this chaining causes exponential effect in each levels. (Effective length grows exponentially in each level)
If unchecked:
This reduces exponential increase of zigzag lengths over next levels.
Logical ratios of patterns are coded as below:
Notations:
ABCD Classic
AB=CD
ABCD Extension
Gartley
Crab
Deep Crab
Bat
Butterfly
Shark
Cypher
Three Drives
5-0
Double Bottom
Double Top
Main difference between this script and the earlier Multi Zigzag Harmonic Pattern is the calculation logic of Zigzag 2, 3 and 4
In the earlier script, all zigzags were plain and were calculated on the basis of different lengths. (Such as 5, 10, 15, 20). These were derived on the basis of Multi Zigzag indicator
In this script, Zigzag 2, 3 and 4 are calculated in slightly different way. They are calculated on the basis of previous zigzag. This means, Zigzag 1 will be the input for Zigzag2 calculation and Zigzag 2 will be the input for Zigzag3 and so on. This is demonstrated in the script - Multi Level Zigzag
One important parameter which is specific to this script is: UseZigZagChain
If checked:
- Zigzag2 is formed based on Zigzag1
- Zigzag3 is formed based on Zigzag2
- Zigzag4 is formed based on Zigzag3
This can lead to patterns covering huge number of candles as this chaining causes exponential effect in each levels. (Effective length grows exponentially in each level)
If unchecked:
- Zigzag2 is formed based on Zigzag1 (Same as when checked)
- Zigzag3 is formed based on Zigzag1. But, length is set to zigzag2Length + zigzag3Length
- Zigzag4 is formed based on Zigzag1. But, length is set to zigzag2Length + zigzag3Length + zigzag4Length
This reduces exponential increase of zigzag lengths over next levels.
Logical ratios of patterns are coded as below:
Notations:
- Lines XABCD forms the pattern in all cases. (OXABCD in case of Three drives )
- abc = BC retacement of AB, xab = AB retracement of XA and so on
ABCD Classic
- 0.618 <= abc <= 0.786
- 1.272 <= bcd <= 1.618
AB=CD
- Price difference between AB and CD are equal
- Time difference between AB and CD are equal
ABCD Extension
- 0.618 <= abc <= 0.786
- 1.272 <= AD/ BC (price) <= 1.618
Gartley
- xab = 0.618
- 0.382 <= abc <= 0.886
- 1.272 <= bcd <= 1.618 OR xad = 0.786
Crab
- 0.382 <= xab <= 0.618
- 0.382 <= abc <= 0.886
- 2.24 <= bcd <= 3.618 OR xad = 1.618
Deep Crab
- xab = 0.886
- 0.382 <= abc <= 0.886
- 2.0 <= bcd <= 3.618 OR xad = 1.618
Bat
- 0.382 <= xab <= 0.50
- 0.382 <= abc <= 0.886
- 1.618 <= bcd <= 2.618 OR xad = 0.886
Butterfly
- xab = 0.786
- 0.382 <= abc <= 0.886
- 1.618 <= bcd <= 2.618 OR 1.272 <= xad <= 2.618
Shark
- xab = 0.786
- 1.13 <= abc <= 1.618
- 1.618 <= bcd <= 2.24 OR 0.886 <= xad <= 1.13
Cypher
- 0.382 <= xab <= 0.618
- 1.13 <= abc <= 1.414
- 1.272 <= bcd <= 2.0 OR xad = 0.786
Three Drives
- oxa = 0.618
- 1.27 <= xab <= 1.618
- abc = 0.618
- 1.27 <= bcd <= 1.618
5-0
- 1.13 <= xab <= 1.618
- 1.618 <= abc <= 2.24
- bcd = 0.5
Double Bottom
- Last two pivot High Lows make W shape
- Last Pivot Low is higher than previous Last Pivot Low.
- Last Pivot High is lower than previous last Pivot High.
- Price has not gone below Last Pivot Low
- Price breaks out of last Pivot High to complete W shape
Double Top
- Last two pivot High Lows make M shape
- Last Pivot Low is higher than previous Last Pivot Low.
- Last Pivot High is lower than previous last Pivot High.
- Price has not gone above Last Pivot High
- Price breaks out of last Pivot Low to complete M shape
Release Notes
Convert to pine5Release Notes
Updated signature and tagsOpen-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
For quick access on a chart, add this script to your favorites — learn more here.
Trial - trendoscope.io/trial
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
For quick access on a chart, add this script to your favorites — learn more here.
Trial - trendoscope.io/trial
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Subscribe - trendoscope.io/pricing
Blog - docs.trendoscope.io
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.