Multi Level ZigZag Harmonic PatternsLets 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: 
 
  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 
 
Trendoscope
Multi ZigZag Harmonic PatternsCombining Multizigzag with harmonic patterns - this script generates harmonic patterns based on multiple deapth zigzags.
Input parameter allows to chose which Zigzag to be included in pattern identification and set different  length, line color, width and style  for each Zigzag combinations.
 Pattern rules are as below: 
 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
 
 Related scripts are present here: 
Auto Harmonic Patterns - Open SourceI may not be able to spend much time on the harmonic patterns and realized that there are not much open source scripts on them either. Hence, decided to release open source version which can be used by other developers for reference and build things on top of it.
Original script is protected and can be found here:
 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 
  
This script contains everything which original script has apart from stats. Use the original script if you are not developer looking for code reference and prefer having stats table.
I have also developed a strategy based on harmonic patterns which can be found here:


