OPEN-SOURCE SCRIPT

Channel Based Zigzag [HeWhoMustNotBeNamed]

Updated
🎲 Concept

Zigzag is built based on the price and number of offset bars. But, in this experiment, we build zigzag based on different bands such as Bollinger Band, Keltner Channel and Donchian Channel. The process is simple:

🎯 Derive bands based on input parameters
🎯 High of a bar is considered as pivot high only if the high price is above or equal to upper band.
🎯 Similarly low of a bar is considered as pivot low only if low price is below or equal to lower band.
🎯 Adding the pivot high/low follows same logic as that of regular zigzag where pivot high is always followed by pivot low and vice versa.
🎯 If the new pivot added is of same direction as that of last pivot, then both pivots are compared with each other and only the extreme one is kept. (Highest in case of pivot high and lowest in case of pivot low)
🎯 If a bar has both pivot high and pivot low - pivot with same direction as previous pivot is added to the list first before adding the pivot with opposite direction.

🎲 Use Cases
Can be used for pattern recognition algorithms instead of standard zigzag. This will help derive patterns which are relative to bands and channels.

Example: John Bollinger explains how to manually scan double tap using Bollinger Bands in this video: youtube.com/watch?v=GN0iK5ws0iE. This modified zigzag base can be used to achieve the same using algorithmic means.

🎲 Settings

Few simple configurations which will let you select the band properties. Notice that there is no zigzag length here. All the calculations depend on the bands.

snapshot

With bands display, indicator looks something like this
snapshot

Note that pivots do not always represent highest/lowest prices. They represent highest/lowest price relative to bands.

As mentioned many times, application of zigzag is not for buying at lower price and selling at higher price. It is mainly used for pattern recognition either manually or via algorithms. Lets build new Harmonic, Chart patterns, Trend Lines using the new zigzag?
Release Notes
  • Added colouring for zigzag lines based on HH, LH, HL, LL
  • sticky is made default along with showBands for better visualization
Bollinger Bands (BB)Donchian Channels (DC)hewhomustnotbenamedKeltner Channels (KC)trendoscopeZigzag

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