Forex
Indicator

Indicator: What Are Keltner Channels? An ATR-Based Volatility Channel

Last updated 2026-07-23

Keltner Channels wrap price in a band that widens and narrows with volatility, similar in spirit to Bollinger Bands but built from a completely different volatility measure. Where Bollinger Bands derive their band width from statistical Standard Deviation, Keltner Channels derive theirs from ATR — the average true range of recent candles. The result is a channel that reacts to how big individual bars have actually been, rather than how far price has statistically dispersed from its average, and traders who find ATR's gap-aware, bar-by-bar volatility read more intuitive than a statistical spread often prefer Keltner Channels for exactly that reason.

How Keltner Channels Are Calculated

A Keltner Channel has three lines, and the middle line is the simplest: an Exponential Moving Average (EMA) of price, calculated over a chosen period (the default here is 20). The upper and lower bands are then built by adding and subtracting a multiple of ATR from that EMA:

  • Middle Line = EMA(period)
  • Upper Band = EMA + (ATR × Multiplier)
  • Lower Band = EMA − (ATR × Multiplier)

The default settings here use a 20-period EMA, a 10-period ATR, and a multiplier of 2.0 — meaning the bands sit two full ATR-widths above and below the center line. Because ATR is recalculated on every bar, the channel's width breathes with the market: a quiet stretch of small candles narrows the bands, and a volatile stretch of large candles widens them, exactly the way a channel meant to represent "normal" price movement should behave.

Entry Conditions

BUYSELLUpper / Lower band (EMA ± ATR × multiplier)EMA (center line)
Entry conditions: BUY when price closes above the upper band — SELL when price closes below the lower band

The included indicator watches for price closing outside either band — a signal that the current move has pushed further than ATR-scaled "normal" range would predict. A close above the upper band is read as a bullish breakout signal; a close below the lower band is read as the mirrored bearish signal. The alert logic in keltner-channels-alert.mq4/.mq5 fires the moment a closed bar's price crosses outside either band, rather than reacting to a wick that briefly pierces the band and closes back inside — a closed-bar confirmation filters out a meaningful share of the false signals that a purely intrabar touch would generate.

Keltner Channels vs Bollinger Bands vs Envelopes

This site now has three volatility-channel indicators, and they're worth contrasting directly rather than treating as interchangeable, because each defines "band width" a different way:

  • Bollinger Bands set band width from Standard Deviation — a statistical measure of how far price has dispersed from its own moving average. Because Standard Deviation reacts to the full shape of recent price dispersion, Bollinger Bands can widen sharply even from a handful of large closes without correspondingly large individual candles.
  • Keltner Channels set band width from ATR — a bar-by-bar, gap-aware measure of how large individual candles have been. Keltner bands react more directly to raw candle size and tend to produce a smoother, steadier channel than Bollinger Bands, which can look noisier because Standard Deviation responds to every new close entering and leaving its lookback window.
  • Envelopes set band width as a fixed percentage of the moving average, regardless of current volatility at all. This makes Envelope bands the simplest of the three to reason about, but also the least adaptive — an Envelope band doesn't widen during a genuine volatility spike, while both Bollinger Bands and Keltner Channels do.

In practice, Keltner Channels sit as a middle ground: more volatility-adaptive than Envelopes, but calculated from a steadier volatility input than Bollinger Bands' Standard Deviation. Some traders run Keltner Channels and Bollinger Bands on the same chart specifically to watch for a "squeeze" — when the (typically wider) Bollinger Bands contract to sit inside the Keltner Channel, it flags an unusually quiet market that has historically preceded a volatility expansion, a setup often referred to as the TTM Squeeze in broader technical-analysis literature.

Parameters

  • EMAPeriod (default 20) — the period of the center EMA line. A shorter period tracks price more closely and repositions the channel faster; a longer period produces a smoother, slower-moving center line.
  • ATRPeriod (default 10) — the lookback ATR is calculated over for band width. A shorter ATR period reacts to recent volatility changes faster but makes the bands themselves noisier; a longer period smooths the band width but lags a genuine shift in volatility.
  • ATRMultiplier (default 2.0) — how many ATR-widths the bands sit from the center line. Narrower multipliers (1.0-1.5) produce a tighter channel that price crosses more often, generating more signals of lower individual conviction; wider multipliers (2.5-3.0) require a larger move to trigger a signal, producing fewer but more significant breakouts.
  • AppliedPrice (default Close) — the price series the center EMA is calculated from.
  • EnableAlert / EnablePush — toggle the on-screen popup alert and mobile push notification independently when price closes outside either band.

How Traders Combine Keltner Channels with Other Tools

Because a Keltner Channel breakout says nothing about why price moved outside the band, many traders pair it with a directional or trend-strength filter rather than trading every band break in isolation. ADX is a natural companion: a Keltner breakout that occurs while ADX confirms a genuinely strong trend carries more weight than one occurring in a flat, directionless ADX reading, where the breakout is more likely to be a single oversized candle that reverts. Similarly, checking Trend vs Range market structure before acting on a Keltner signal helps separate a breakout that's continuing an established trend from one that's simply the first sign of a range's edge being tested, which behaves very differently going forward.

A Word of Caution

Like any volatility-band indicator, Keltner Channels react to price that has already moved — a close outside the band confirms a breakout has occurred, it doesn't guarantee the move continues. A sharp reversal immediately after a breakout is common enough that Keltner Channel signals should generally be filtered by a trend or momentum tool rather than traded blind, and Stop Loss placement should always assume the breakout can fail. ATR-based bands also widen during high-impact news events and thin liquidity, both of which can produce a band break driven by a temporary spike rather than a genuine change in market behavior — treat these situations, particularly during major news releases from an Economic Calendar, with extra caution.

Download the Indicator

This custom indicator plots the Keltner Channel's EMA center line and ATR-based upper/lower bands, and alerts when price closes outside either band. It's available for both MetaTrader 4 and MetaTrader 5 below.

How to Install — MetaTrader 4

  1. Download the keltner-channels-alert.mq4 file below.
  2. Open MetaTrader 4 → click FileOpen Data Folder.
  3. Place the file in the MQL4/Indicators folder.
  4. Restart MetaTrader 4, then drag the indicator from the Navigator window onto the chart.

How to Install — MetaTrader 5

  1. Download the keltner-channels-alert.mq5 file below.
  2. Open MetaTrader 5 → click FileOpen Data Folder.
  3. Place the file in the MQL5/Indicators folder.
  4. Restart MetaTrader 5, then drag the indicator from the Navigator window onto the chart.

Both files are source code — open and review the full code before using it, for your own safety.

Download keltner-channels-alert.mq4

For MetaTrader 4 — this is source code (.mq4), open and review it fully before using it.

Download File

Download keltner-channels-alert.mq5

For MetaTrader 5 — this is source code (.mq5), open and review it fully before using it.

Download File