Charts See the terminal

Keltner Channels

An EMA with a band either side set by the average true range of recent bars, showing whether price is stretched relative to how far it usually moves.

Volatility Add to chart

Live Keltner Channels preview · BTC/USDT · Binance

What is Keltner Channels?

Keltner Channels draw an exponential moving average through price, with an upper and a lower band set a multiple of the average bar range away from it, and the space between the bands shaded. When bars get larger the bands widen; when the market goes quiet they narrow. Because bar range changes more gently than price dispersion, the bands are smoother than Bollinger Bands.

Keltner Channels show where price sits against its recent average and typical range. They do not say whether a move beyond a band will continue or reverse, and they do not predict future prices.

How to use Keltner Channels

  • Price at or beyond a band. A close beyond the upper band means price has moved further from its average than its recent range usually takes it. In a strong trend that can mark strength; in a range it often marks a stretch that reverts.
  • The basis. The middle line is an EMA. Price holding above it is context for an uptrend, below it for a downtrend, and pullbacks often return to it.
  • Band width. Wide bands mean large bars; narrow bands mean small ones. A long stretch of narrow bands is a quiet market.
  • The multiplier. The default of 1 puts the bands one average range from the basis, so price reaches them often. A larger multiplier keeps them further out and touches become rarer.

These are ways to read the channel, not entry signals on their own.

Settings

SettingDefaultWhat it changes
Length20 Bars used for both the basis EMA and the average of true range. Lower reacts sooner and is noisier; higher is smoother and later. Minimum 1.
Multiplier1 How many average ranges the bands sit from the basis. Higher widens the channel, lower narrows it. Minimum 0.001, maximum 50.
SourceClose Which price the basis EMA uses. Open, high, low and the averaged sources such as hl2 and hlc3 are also available. The band width always uses each bar's true range.

Adjust the length, multiplier and price source in the indicator settings.

Calculation

The basis is an EMA of price. The band width is an EMA of the true range, the full distance a bar covered including any gap from the previous close:

true range = max(high - low, |high - previous close|, |low - previous close|)

Basis = EMA(close, 20)
Range = EMA(true range, 20)
Upper = Basis + 1 * Range
Lower = Basis - 1 * Range

Both averages use the same exponential smoothing, with alpha = 2 / (length + 1), about 0.095 at the default 20, and each starts from the simple average of its first 20 values. The band width is an exponential average of true range rather than the Average True Range, which uses slower Wilder smoothing at alpha = 1 / length. The two give visibly different band widths at the same length.

The first bar has no previous close, so its true range is taken as high minus low. That keeps all three lines starting together, on bar 20 with the default length.

Limitations

  • Band touches are ambiguous. Price at a band can be the start of a trend or a stretch about to revert. The channel alone does not tell them apart.
  • It lags. Both the basis and the band width are averages of past bars, so the channel reacts to a change in volatility after it has happened.
  • The default multiplier is narrow. At 1, price leaves the channel often. Widen it if band touches are meant to be rare.
  • It depends on timeframe and settings. The same indicator gives a different channel on 15m than on 1D, or with a different length or multiplier.
  • It is not a strategy. On its own it carries no risk management, sizing or exit.

Frequently asked questions

Keltner Channels are an exponential moving average with an upper and a lower band, each set a multiple of the average true range away from it. In Altrady Charts the defaults are a 20-bar EMA of the close and bands one average range either side.

Bollinger Bands set their width from the standard deviation of price around a simple average. Keltner Channels set it from the average bar range around an EMA. Range changes more gently than standard deviation, so Keltner bands are smoother and widen less abruptly after a single large move.

They use true range, the same building block as the [ATR](/library/indicator/atr), but average it with an EMA rather than with the Wilder smoothing the ATR uses. The EMA responds faster, so the bands are not the same as an ATR-based channel of the same length.

Yes. The indicator has three inputs: Length, default 20 with a minimum of 1; Multiplier, default 1, from 0.001 to 50; and Source, default close, which sets the price the basis EMA uses. Open the indicator's settings on the chart to change them.

Values on closed bars are not revised. The current candle's values move while that candle is live and settle when it closes. Like any exponential average, the lines need a starting point, so loading older history recalculates them and values near the very start of the loaded range can shift.

Use the Add to chart button at the top of this page. It opens BTC/USDT on Binance in the Altrady Charts terminal with the built-in Keltner Channels already applied. On any other market, open the indicator picker on the chart and choose Keltner Channels from the Volatility group.

Add to chart