EA-23139 · Breakout

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

CategoryBreakout
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, M30, H1, H4
IndicatorsChannel High/Low, Price Action
Authorwsforex@list.ru

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.3

Parameters

ParameterDefaultDescription
ChannelPeriod20Channel lookback period for ranging high/low boundaries
LotSize0.1Trade lot size per order
StopLoss50Stop loss in points
TakeProfit100Overall take profit target in points
MagicNumber23139EA magic number for trade identification
BreakoutConfirmationtrueRequire bar close to confirm breakout validity

Similar Breakout EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.