+ Donchian Channels

ClassicScott Updated   
This version of Donchian Channels uses two source options so that one can create a channel using highs and lows rather than one or the other or closes. My thinking was that this would create a more accurate portrayal of price action (or at least contain the greatest scope of it) as seen through the lens of a Donchian Channel. This was actually part of the genesis of my idea around my Ultimate Moving Average.
Besides the single top and bottom plot for the DC's extremities, I've enabled the ability to create outer bands with a variable width that the user can adjust to their preference. I think it's quite nice. I use it in the DC in my other non-overlay indicators.
Besides this additional functionality, the indicator has options to plot lines between the basis and the upper and lower bands, so, basically, splitting the upper and lower channel in half.

There is no magic number to the lookback. I chose 233 as default because it's a fibonacci sequence number and I'm more interested in using the DC like a very long period bias indicator, and the longer lookback gives a much wider window (because highs and lows are so spread apart) with which other faster indicators (supertrend, shorter period moving averages, etc.) can work without making the screen a clutter.

The color of the basis may also be made relevant to higher timeframe information. What I mean by this is that you can set it so that the basis of the current timeframe is colored based on the candle close of the higher timeframe of your choosing. If you're looking at an hourly chart, and you set the color to Daily, the basis will be colored based on the candle close (above or below the basis) of the previous day. If the previous daily close was above the basis, that positive color will be reflected in the basis, even if the current hourly candle closes are below the hourly basis. This could potentially be useful for setting a higher timeframe directional bias and reacting off price crossing the lower timeframe basis (or whatever your trigger for entering a trade might be). This is also optional in my Ultimate Moving Average indicator.

You can also set the entire indicator to whatever time frame you want if you want to see where the actual basis, or other levels are on that higher timeframe.

Further additions include fibonacci retracement levels. These are calculated off the high and the low of the Donchian Channels themselves.
You will see that there are only three retracement levels (.786, .705, .382), one of which is not a fib level, but what some people call the 'OTE,' or optimal trade entry. If you want more info on the OTE just web search it. So, why no .618 or .236? Reason being that the .618 overlaps the .382, and the .236 is extremely close to the .786. This sounds confusing, but the retracement levels I'm using are derived from the high and low, so it was unnecessary to have all five levels from each. I could have just calculated from the high, or just from the low, and used all the levels, but I chose to just calculate three levels from the high and three from the low because that gives a sort of mirror image balance, and that appeals to me, and the utility of the indicator is the same.

The plot lines are all colored, and I've filled certain zones between them. There is a center zone filled between both .382 levels, and an upper and lower zone filled between the .786 and either the high or the low.

If you like the colored zones, but don't like the plots because they cause screen compression, turn off the plots under the "style" tab.

There are alerts for candle closes across every line.

I should state that, regarding the fibs, obviously the length of the Channels is going to affect to what levels price retraces to. A shorter lookback means you will see more changes in highs and lows, and therefore retraces are often going to be full retraces within the bands unless price is trending hard. A longer lookback means you will see smaller retraces. Using this in conjunction with key high timeframe levels and/or a moving average can give great confidence in a trade entry. Additionally, if you have a short bias it may help in finding levels or entering a trade on a pullback. It could also be good for trade targets. But again, the lookback you choose for this indicator is going to dictate its use in the system you're building or already have. A 9 EMA and a 200 EMA, while fundamentally the same, are going to be used somewhat differently while doing your chart analysis.

Additional images below.

Same image as main, but with supertrend and my +UMA to help with chart analysis.

Image with the fib stuff turned on.

Zoomed out image with the same.

Shorter lookback period.

Zoomed in image of shorter lookback.
Release Notes:
simply added a color fill between the 0.5 and 0.705 "fib" lines

Release Notes:
- updated to pinescript version 5
- added an EMA input for smoothing (and lagging, of course) the upper and lower boundaries (and thus everything else in the indicator produced by those boundaries). This is interesting in that during strong impulsive movements the indicator will behave more like keltner channels, at least on the side that the movement is on, thus, on a bullish impulse price will run outside of the channel, though the bottom boundary won't react quite so quickly as the top. I think it's a nice optional touch. Could help some traders to stay in trends longer, and/or pick reversal spots.
Image below. This is showing a 55 period Donchian Channel with a 21 period EMA applied to it. Further notations provided in the picture.

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 a publication is governed by House Rules. You can favorite it to use it on a chart.


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.

Want to use this script on a chart?