Donchian Breakout
Enter when price breaks the N-day high/low — the classic Turtle Trader rule
Risk
High
Holding Period
Weeks to months (trend-following)
Best For
Strong trending markets in any direction; avoids chop
How it works
In the 1980s Richard Dennis taught a group of novices this rule and they collectively made ~$175M — hence 'Turtles'. The core intuition: most real trend moves start with a break past a long-horizon high or low; everything else is chop the filter rejects. We use a 20-day entry channel and 10-day exit channel (the original S1 system), with an ATR-based initial stop.
Mathematical Foundation
entry: close > max(high_{t−N..t−1}) exit: close < min(low_{t−M..t−1}) (M < N)Signal Generation Logic
- 1Compute the rolling N-bar high and N-bar low of the asset (default N = 20). Shift by 1 so the channel at bar t uses only bars strictly before t
- 2Enter long when close > upper channel — a break to a new N-bar high
- 3Enter short when close < lower channel — a break to a new N-bar low
- 4Exit when close crosses the opposite M-bar channel (default M = 10). Tighter than entry so trades don't linger
- 5One entry per position — no pyramiding
- 6Initial stop = close ± atr_stop_multiple × ATR(14)
Parameters Explained
entry_windowN-bar lookback for the breakout channel. 20 is the original Turtle S1 setting; shorter (10) reacts faster but has more whipsaws, longer (55) is the Turtle S2 rule.
Default
20exit_windowOpposite-channel lookback that triggers exits. Must be strictly less than entry_window so trades have room to breathe.
Default
10atr_periodPeriod for Wilder's ATR used as the volatility-scaled initial stop. 14 bars is standard.
Default
14atr_stop_multipleInitial stop distance in ATR units. 2× ATR is the Turtle default; 1.5 is tighter (more stops), 3 is looser (larger loss tolerance).
Default
2.0When It Works
Strong, persistent trends with clear breakouts — think currency devaluation moves, commodity supercycles, or major index trends. Most profitable trades are the 10-20% that ride a long, clean trend.
When It Fails
In range-bound, choppy markets: repeated false breakouts chew away profits with whipsaw losses. Turtles historically had win rates around 30-40% — the system relies on large winners to cover many small losses.
Risks & Limitations
- Low hit rate (often < 40%) is psychologically painful even with positive expectancy
- Large drawdowns during extended chop periods — the system needs patience
- Late entries: by the time the break is confirmed, the trend has already moved N bars; missing the first leg is part of the rule
- Asset selection matters: works best on instruments with trendy character (FX majors, stock indices, commodities), worse on mean-reverting ones
Implementation
compute_donchian_channels shifts by 1 bar to avoid same-bar look-ahead — the channel at t uses only bars < t. compute_atr uses Wilder smoothing (EWMA with alpha = 1/period). No pyramiding: position state is tracked and entries only fire from flat.
Model parameters
Entry Window
Break above N-day high / below N-day low triggers entry
Exit Window
Cross of opposite M-day channel closes the position
ATR Period
Period for the volatility-scaled initial stop
Stop Multiple
Initial stop distance, in ATR units
Academic background
Academic Basis
Based on Faith (2003), 'Way of the Turtle' — the original 20/10-day breakout system taught by Richard Dennis
Backtest this strategy
Run the exact model on your selected assets and date range. See trade-by-trade performance.
Backtest This →