Flat Channel
This EA identifies flat/ranging channel periods in the market and trades breakouts from those channels. It detects consolidation zones using high/low price boundaries over a defined lookback period, then enters trades when price breaks out of the channel, targeting momentum continuation moves.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
Why this EA never traded: no entry rule survived the conversion.
Converted from MQL5 to Python and run with the same rules for every EA. Positions use MT5 lot sizes (100,000 units per FX lot, 100 oz per gold lot) with 1:100 leverage, one order at a time, and a stop-out below 10% of the starting balance. Sharpe is computed from the equity curve. Results marked as unreliable are shown for completeness only.
Blow-up risk: No blow-up pattern found
- Has no stop loss or trailing stop
On its own this is not a typical blow-up pattern, and the account was not stopped out in our backtests. That is not a guarantee: any EA can lose money.
High: stopped out in our backtest, or martingale/grid sizing without a stop loss. Elevated: martingale or grid sizing with a stop loss, or several positions at once without a stop loss. What the label means and what we found →
Strategy analysis
The core strategy of this EA is a channel breakout system that identifies the upper and lower boundaries of a price channel during ranging/consolidation periods, then enters trades when price breaks out of the channel. Entry conditions are: go long when price closes above the upper channel boundary, and go short when price closes below the lower channel boundary. Exit conditions typically rely on fixed take-profit and stop-loss levels or multiples of the channel width to set profit targets. Position sizing uses either fixed lot sizes or lots calculated based on the channel width, with no martingale or grid characteristics detected. Money management sets stop-losses at the opposite side of the channel or at a fixed pip distance, though specific risk controls depend on parameter configuration. The overall strategy logic is clear and represents a classic range-breakout trading approach, but it is susceptible to consecutive losses from false breakouts during choppy markets.
Strengths
- Clear and simple strategy logic — channel breakout is a classic and well-validated trading method
- Trading breakouts only after identifying consolidation avoids chasing trends at wrong levels
- Highly configurable parameters allow adaptation of channel period, SL/TP to different market conditions
Weaknesses
- Channel identification lacks volume or volatility confirmation, leading to frequent false breakout signals
- In trending markets, channel boundaries keep expanding, causing delayed breakout signals and repeated losses
- No market regime filter to distinguish between trending and ranging conditions effectively
Possible improvements
- Add ADX or volatility indicator to filter market regime — only enable channel breakout when consolidation is confirmed
- Incorporate volume confirmation for breakouts to improve signal reliability and reduce losses from false breakouts
Risk assessment
Overall risk: Medium
- False breakouts occur frequently during low-liquidity sessions, potentially causing consecutive stop-losses
- Lacks position count checks and duplicate entry protection, which may result in multiple entries on the same signal
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
ChannelPeriod | 20 | Channel lookback period for ranging high/low boundaries |
LotSize | 0.1 | Trade lot size per order |
StopLoss | 50 | Stop loss in points |
TakeProfit | 100 | Overall take profit target in points |
MagicNumber | 23139 | EA magic number for trade identification |
BreakoutConfirmation | true | Require bar close to confirm breakout validity |
Similar Breakout EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.