Donchian Channels define the highest high and lowest low over N periods, creating a rectangular price "box." When price breaks out of this box, it signals that buyers or sellers have taken control beyond the recent range. No smoothing, no statistical weighting — just the raw extremes.
Section 1: Core Mechanics
Richard Donchian introduced Donchian Channels in the 1960s and used them to systematically trade futures trends. The system became famous when Richard Dennis and William Eckhardt taught it to the "Turtle Traders" in 1983 — a group of novice traders who turned it into a commodity trading legend.
Formula
Where N is the lookback period (default 20). Unlike Bollinger Bands, there is no mathematical smoothing or standard deviation — the channel is the absolute price range.
Inputs
- High: Bar high (for upper channel)
- Low: Bar low (for lower channel)
- Period (N): Lookback window. The Turtle system used two systems: N=20 (System 1) and N=55 (System 2).
Parameters
| Parameter | Default | Range | Impact |
|---|---|---|---|
| Period (N) | 20 | 10–100 | Lower = tighter box, more breakouts; Higher = wider box, fewer but stronger breakouts |
| Source | High/Low | Fixed | Not configurable — channels require both high and low |
Output
Three lines on the price chart: Upper Channel (highest high), Lower Channel (lowest low), Middle Channel (midpoint). The area between upper and lower forms a clear rectangular box at any given moment.
Visual Behavior
- Flat upper channel → price is below recent highs; no breakout
- Rising upper channel → each bar is setting a new N-bar high; momentum is upward
- Price touching upper channel → at the edge of recent range; breakout zone
- Narrowing channel (upper falling, lower rising) → volatility contraction, range compression
Section 2: Interpretation & Signals
Classic Turtle Trading Rules
The original system that made Donchian Channels famous:
| Signal | Condition | Action |
|---|---|---|
| Long entry | Close above 20-period upper channel | Enter long at the breakout close |
| Short entry | Close below 20-period lower channel | Enter short at the breakout close |
| Long exit | Close below 10-period lower channel (faster system) | Exit long position |
| Short exit | Close above 10-period upper channel (faster system) | Exit short position |
| Stop-loss | 2× ATR(20) from entry | Hard stop to limit loss |
The Turtle system had a win rate of only 35–40%. It was profitable because winning trades ran far — sometimes 5× to 20× the initial risk — while losing trades were cut quickly.
Breakout Confirmation Chart
Donchian Channel Breakout — 20-Period Box
Middle Channel as Exit
The middle channel is the midpoint of the 20-period range. When a long trade pulls back to the middle channel, it signals that the trend is weakening — half the recent range has been erased. Many traders exit half the position at the middle channel and trail the remainder.
Section 3: Pass vs. Live — Real-Time Reliability
Donchian Channels are among the most objective technical tools: the upper channel is the highest high over the last N closed bars. The live bar's high is NOT included until that bar closes. This means the upper channel level is fixed during the session — you know exactly where the breakout level is before price reaches it.
Section 4: Practical Use Cases
Setup: DC(20) on 15m chart + volume indicator Signal: Price closes above the 20-period upper channel with volume 1.5× 20-bar average Entry: Next bar open after the breakout close Stop: 1× ATR(14) below the upper channel level (now acting as support) Key rule: Only take breakouts in the direction of the 4H chart trend — counter-trend breakouts fail 65%+ of the time on intraday
Setup: DC(20) on daily chart for entries; DC(10) on daily for exits Signal: Daily close above DC(20) upper channel after at least 10 bars of range consolidation Entry: Open of next trading day Stop: 2× ATR(20) below entry Key rule: Minimum consolidation period of 10 bars — breakouts from very short ranges (5 bars or fewer) lack follow-through
Setup: DC(55) on weekly chart — the Turtle System 2 channel Signal: Weekly close above 55-week high (price at new multi-year breakout) Entry: Following week open Stop: 2× ATR(20) on weekly chart below entry Key rule: DC(55) weekly breakouts are rare but powerful — this is a pure trend-following position, hold until DC(20) weekly exit signal fires
Real example: Crude oil futures (CL) during the 2021–2022 commodity supercycle: DC(55) on the weekly chart generated a long entry in October 2021 when price broke above the 55-week high at $83.76. The position held until the DC(20) exit signal triggered in May 2022 near $115. A 37% trend capture on a systematic rule-based system.
Section 5: Pseudo Code
INPUT: high[], low[], period=20
PROCESS:
Step 1: For each bar i starting from index (period - 1):
upper[i] = max(high[i-period+1 : i+1])
lower[i] = min(low[i-period+1 : i+1])
middle[i] = (upper[i] + lower[i]) / 2
Step 2: Bars before index (period - 1) = NaN
Step 3: Generate entry signals
if close[i] > upper[i-1]: # Use prior bar's channel, not current
signal[i] = "LONG_BREAKOUT"
elif close[i] < lower[i-1]:
signal[i] = "SHORT_BREAKOUT"
OUTPUT: upper[], middle[], lower[], signal[]
EDGE CASES:
- Fewer than period bars: return all NaN
- Tied highs (multiple bars at the same high): max() handles correctly, no special case needed
- Gap open above upper channel: signal fires on open — enter at market open, stop below gap open
- Period = 1: channel equals the current bar's high/low (degenerate — no lookback)
Section 6: Parameters & Optimization
Standard Period Reference
| Period | System Name | Use Case |
|---|---|---|
| 10 | Turtle System exit channel | Exit trigger for positions entered on DC(20) |
| 20 | Turtle System 1 entry | Short-term breakout trading; standard default |
| 55 | Turtle System 2 entry | Long-term trend following; weekly timeframe |
| 100 | Extended breakout | Multi-year high/low breakouts; position trading only |
Period Impact
| Change | Effect | When to Apply |
|---|---|---|
| Lower period (10–15) | More signals; higher false breakout rate; tighter channel | Intraday scalping in clear trends |
| Default period (20) | Balanced signal frequency vs. reliability | Standard swing trading |
| Higher period (55–100) | Rare signals; only major structural breakouts | Position trading; commodity trend following |
How does Donchian differ from Bollinger Bands and Keltner Channels?
All three create envelopes around price, but the math is completely different. Donchian is the raw highest-high/lowest-low — no smoothing. Bollinger Bands use SMA ± standard deviation. Keltner Channels use EMA ± ATR multiple. Donchian creates a rectangular box (the channel is flat when price is inside range). Bollinger and Keltner create curved envelopes that track price more closely. Donchian excels at breakout detection because the flat channel is a clear, objective level. Bollinger and Keltner are better for volatility measurement.
What was the actual Turtle Trading system?
Richard Dennis and William Eckhardt bet in 1983 on whether traders could be taught (Eckhardt) or were born (Dennis). Dennis won. His 13 recruits — the Turtles — used DC(20) and DC(55) with ATR-based position sizing. In four years, they turned $1M into $175M. The full rules were secret until Curtis Faith published them in 2003. The core insight: a 35% win rate with 3:1 average winner/loser ratio produces a positive expectancy system.
Section 7: Synergies & Conflicts
| Works Well With | Avoid Combining With | |
|---|---|---|
| ATR | ATR-based stop sizing is the essential companion — Donchian finds the breakout; ATR sizes the risk. They were designed together in the Turtle system | — |
| ADX | ADX > 25 confirms trend strength before a Donchian breakout. ADX rising + DC breakout = high-conviction setup | — |
| Volume | Volume expansion on the breakout bar confirms institutional participation. Low-volume breakouts from DC upper/lower fail more than 70% of the time | — |
| Moving Averages | SMA(200) direction filter — only take DC long breakouts when price is above SMA(200); only take shorts when below | — |
| Mean Reversion Oscillators (RSI, Stochastic) | — | Philosophically opposite — DC is a breakout/trend tool; oscillators signal fades. A DC breakout signal combined with RSI > 70 creates confusion about whether to enter or wait for a pullback |
| Bollinger Bands | — | Both are envelope systems. At identical periods, they often fire simultaneously — not independent signals. Use one or the other, not both |
Section 8: Common Mistakes
| Mistake | Root Cause | Solution |
|---|---|---|
| Entering at the channel touch (not the breakout) | Anticipating the breakout before confirmation | Wait for the bar to close above/below the channel — intrabar touches reverse constantly |
| Using only DC(20) without an exit system | No defined exit = holding through full reversals | Add DC(10) as an exit channel, or use ATR trailing stop |
| Ignoring the win rate reality | Expecting high win rate from a trend-following system | Accept 35–40% win rate; size positions so 3+ wins cover all losses. Track expectancy, not win rate |
| Taking breakouts in choppy markets | Not filtering by trend regime | Require ADX > 20 on the same timeframe before entering any DC breakout |
| Using identical periods for entry and exit | Exit fires too late when same as entry | Entry channel should be longer (DC(20)) and exit channel shorter (DC(10)) |
Section 9: Cheat Sheet
USE WHEN: Price breaks a multi-bar high/low; ADX > 20 (trending); volume expanding on breakout bar
AVOID WHEN: Market is in an extended sideways range; ADX < 15; thin liquidity periods; earnings days
ENTRY SIGNAL: Daily/weekly close above upper DC(20) → enter long; close below lower DC(20) → enter short
EXIT SIGNAL: Price touches lower DC(10) on long position; upper DC(10) on short position
PARAMETERS: Entry — DC(20) default; Aggressive — DC(10); Position — DC(55). Exit — always use shorter period than entry
CONFLUENCE: ADX (trend strength) + ATR (stop sizing) + Volume (breakout confirmation)
RISK: False breakout rate is high (>50%) without volume and ADX filters — always require both
BEST TIMEFRAME: Daily and weekly for reliable trend signals; 4H acceptable; below 1H noise increases significantly