
The Start Bots Signal category describes signals and indicators that can start a trading bot. One of the technical indicators is Donchian Channels.
When creating or editing any bot, there is a Start signal builder block at the bottom of settings. You can choose individual indicators, ready-made presets, and their combinations. Conditions are grouped: AND inside a group, OR between groups. The same indicator can be configured in different ways - for Long and Short, for breakouts and bounces, for level comparisons and for crosses.
What are Donchian Channels
Donchian Channels are one of the oldest channel indicators, developed by Richard Donchian in the mid-20th century. Three lines: upper - the highest price over the last N candles, lower - the lowest over the same period, middle - the midpoint of the range. The channel shows the “corridor” where price moved and marks new extremes when boundaries break.
The indicator became famous through the Turtle Trading system - the legendary “Turtles” who traded breakouts of 20- and 55-day highs and lows. In the ELIXOAI start signal builder, Donchian is used as an automatic bot start condition: when price breaks the upper or lower channel boundary, the system fetches values via TAAPI and checks the condition on your timeframe.
Donchian Channels are a trend breakout tool, not an oscillator. In sideways markets price often stays inside the channel and produces false breaks; in trends, an upper or lower break starts a move toward a new N-period extreme. Traders often combine the channel with trend filters (EMA, position vs middle) or require confirmation on a higher timeframe.
Donchian Channels vs Bollinger Bands and Keltner Channels
All three indicators build a three-line channel, but calculation logic differs fundamentally:
- Bollinger Bands: center - SMA, width - standard deviation. Bands “inflate” on volatile candles and narrow in flat markets. Suited for mean reversion and squeeze strategies; boundaries are dynamic and depend on price statistics.
- Keltner Channels: center - EMA, width - ATR × multiplier. Smoother channel, reacts to sustained volatility rather than absolute extremes. Better for trend “channel riding” and ATR-boundary bounces.
- Donchian Channels: upper and lower lines are pure N-period highs/lows without smoothing. Middle is the arithmetic midpoint. An upper break means a new high over N candles - a direct breakout signal like Turtle Trading. Simpler and stricter than BB or Keltner; fewer false touches inside the channel but more lag on reversals.
How Donchian Channels work
Donchian Channel calculation is straightforward:
- Upper (value.upper): highest price (High) over the last
periodcandles. - Lower (value.lower): lowest price (Low) over the same
periodcandles. - Middle (value.middle): (upper + lower) / 2 - range midpoint, a dynamic support/resistance line.
In the builder you set a price vs channel line comparison: “price crosses above upper,” “price crosses below lower,” “price greater than upper,” and so on. The system fetches live upper, middle and lower from the exchange via TAAPI and checks the condition on your timeframe - at candle close or every minute.
Period parameter
- Range: 1 to 300.
- Default: 20 - Turtle Trading classic for daily and 4h breakouts; the “standard” channel for swing trading.
- Short period (10–14): narrower channel, more upper/lower breaks, more signals and noise. Useful on 5m–15m for breakout scalping.
- Long period (55): Turtle Trading “long” channel - fewer breaks but each signal carries more weight. period 55 on 1d filters major trend moves.
Donchian(20) on 15m and Donchian(20) on 1d are different indicators. When changing timeframe, revisit period and signal type (cross vs gt/lt).
Ready-made presets in the builder
The builder offers two Donchian Channels presets with default settings. Each can be fully customized: different operator, output (middle), period or timeframe.
donchian_upper - upper boundary breakout (breakout up)
Default condition: price crosses the upper channel line (value.upper) from below to above (cross up) on the selected timeframe (15m interval, period 20, check at bar close).
Long signal on breakout: price updated the N-period high - classic Turtle breakout. Unlike “price > upper,” the cross captures the exit moment to a new high, not just holding above the boundary. For earlier trend entry use operator gt (price above upper).
donchian_lower - lower boundary breakout (breakout down)
Default condition: price crosses the lower line (value.lower) from above to below (cross down) on the same timeframe (15m, period 20, check at close).
Short signal on downward break: price updated the N-period low - bearish breakout. Mirror of donchian_upper. For short grids and trend Short use cross down lower; for “price below lower” filter use operator lt.
Available operators- Crosses above (cross up): Price was below the channel line and moved above. Classic Long setup - cross up through upper: new N-period high.
- Crosses below (cross down): Price was above the line and dropped below. Short signal - cross down through lower: new N-period low.
- Greater than (gt): Price is strictly above the line right now. E.g. price > upper - sustained breakout without requiring a fresh cross.
- Less than (lt): Price is strictly below the line. Price < lower - clear bearish breakout, useful for Short filters.
- Greater or equal (gte): Price at or above the line. Handy for “price ≥ upper” filter on a higher timeframe.
- Less or equal (lte): Price at or below the line. Bearish context filter: price ≤ lower on 4h.
value.upper (upper boundary), value.middle (range midpoint), value.lower (lower boundary). In presets the comparison target is price; you choose which channel line to compare it to. Middle works well for trend filters: price cross up middle - bullish context.
General builder settings
- Timeframe (interval): 1m, 5m, 15m, 30m, 1h, 4h, 1d. Shorter intervals give more signals but more noise. Swing bots often use 1h–4h; scalping uses 5m–15m.
- Check mode: At candle close checks after the candle closes - fewer false triggers. Every minute checks inside the current candle - faster reaction, higher false-start risk.
- Operator: greater than, less than, crosses above, crosses below, greater or equal, and others define how the indicator value is compared to the target.
- Target value: a number (e.g. 30 for RSI), an indicator line (e.g. %D for Stochastic), or price (for Bollinger Bands).
- Condition groups: up to 3 groups with up to 5 conditions each. Example: group 1 - RSI < 30 AND price < lower band; group 2 - Stochastic < 20. The bot starts if group 1 OR group 2 is satisfied.
Setup examples for different strategies
Turtle Trading: period 20 on 1d
Goal: classic trend breakout per the Turtle method.
Long: donchian_upper preset, cross up upper, 1d timeframe, period 20, check at bar close.
Short: donchian_lower, cross down lower, same settings.
The Turtles entered Long on a 20-day high break - the bot starts on the same principle.
Scalping: period 10 on 5m–15m
Goal: frequent starts on short range breakouts.
Long: donchian_upper, cross up upper, 5m, period 10, check at close.
Short: donchian_lower, cross down lower, 15m, period 10.
Filter: price above EMA 20 on the same TF - fewer false breaks in chop.
Swing: period 20 on 4h
Goal: fewer but more meaningful breakout moves.
Long: cross up upper on 4h, period 20, check at close - bot starts when the 20-candle high is broken.
Short: cross down lower on 4h, period 20.
Period 20 on 4h smooths 15m noise and signals closer to a “real” trend turn.
Trend filter: Donchian + EMA
Goal: Long only when breakout and trend align.
Group 1: donchian_upper (cross up upper) on 15m AND close price above EMA 50 on the same 15m.
Short: donchian_lower (cross down lower) AND price below EMA 50.
EMA shows direction; Donchian confirms price reached a new extreme in the trend direction.
Short on bearish breakout
Condition: donchian_lower, cross down lower, period 20, 1h, check at close.
Filter: RSI < 45 in the same group - short after bullish impulse fades with low break confirmation.
Fits short grids on trend change when price updates the N-period low.
Channel squeeze breakout
Goal: catch the first impulse after a tight range period.
Long: when upper and lower converge (low volatility), the first cross up upper on 15m (period 20) often starts a strong move.
Short: cross down lower after compression.
Strengthen with a second group: Bollinger Bands also compressed - classic “double squeeze” before breakout.
Middle line as filter
Long: donchian_upper on 15m AND price > value.middle on 4h (manual: output middle, operator gt, target price).
Short: donchian_lower AND price < middle on 4h.
Middle is the range midpoint; holding above it on a higher TF confirms bullish context before an upper break.
Donchian + RSI
Long: donchian_upper (cross up upper) on 15m AND RSI > 50 on 15m - breakout with confirmed bullish impulse.
Short: donchian_lower (cross down lower) AND RSI < 50.
For counter-trend bounce: price cross up lower on 15m AND RSI < 35 - recovery from oversold (manual lower output setup).
Turtle long-term: period 55
Goal: rare but large trend entries on the Turtles’ “long” channel.
Long: donchian_upper, cross up upper, 1d, period 55, check at close.
Short: donchian_lower, cross down lower, 1d, period 55.
The Turtles used the 55-day channel as a system filter - fewer signals but higher trend quality.
Multi-timeframe
Long: price > Donchian middle on 4h (period 20, separate condition, gt) AND donchian_upper (cross up upper) on 15m (period 20).
Short: price < middle on 4h AND donchian_lower on 15m.
This avoids buying every local upper break against a global bearish range on the higher interval.
DCA on pullback to lower
Long: price cross up lower on 1h (period 20, manual setup) AND RSI < 40 on 1h - bounce from N-period low without extreme oversold.
Short: cross down upper on 1h AND RSI > 60 - pullback from the high.
For a DCA bot, cross up lower is softer than donchian_upper - entry closer to range support.
Condition groups: practical example
Bot with two Long scenarios:
Group 1: donchian_upper on 15m (cross up upper) AND price > EMA 50 - trend breakout.
Group 2: cross up lower on 15m (period 20) AND RSI < 35 - bounce from lower channel boundary.
Groups combined with OR: either scenario can start the bot. Configure Short symmetrically (donchian_lower, cross down upper).
Tip
In a ranging market Donchian produces many false breaks: price briefly exits upper or lower and returns inside the channel - the bot starts against the real move. Increase period (55 instead of 20), add an EMA filter, or require price above middle on a higher timeframe. In pure chop Donchian is a weak standalone signal - combine with squeeze (channel compression) or Turtle logic only after range expansion. Use check at bar close to ignore intrabar noise and false high/low wicks.