EA-69545 · Breakout

VR Breakdown level

This EA implements a simple breakout strategy that trades when price breaks above the previous bar's high (BUY) or below the previous bar's low (SELL). It monitors open positions on each tick and sets Stop Loss and Take Profit levels if they are missing or need updating. The strategy resets breakout levels after a trade is triggered, waiting for the next new bar to establish fresh levels.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryBreakout
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4, D1
IndicatorsiHigh, iLow, iTime
Author@ Voldemar" // Copyright information

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

None of the usual blow-up patterns were found in the code, 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 strategy concept is based on trading breakouts of the previous bar's high and low, which is a classic breakout approach. Entry conditions: a BUY is triggered when the Ask price reaches or exceeds the previous bar's high, and a SELL is triggered when the Bid price reaches or falls below the previous bar's low. Exit conditions rely on fixed Stop Loss and Take Profit values in points (SL=200 points, TP=400 points), giving a risk-reward ratio of 1:2. Position sizing uses a fixed lot size (0.01 lots), corrected during initialization to conform to the symbol's volume step, but if the corrected lot falls below the minimum allowed volume it is set to 0, which could prevent the EA from trading entirely. Money management lacks dynamic position sizing or percentage-of-equity calculation, relying entirely on a user-specified static lot value. The strategy resets breakout levels after a successful trade, preventing repeated entries at the same level until a new bar forms and establishes fresh reference levels.

Strengths

  • Simple and clean strategy logic, code is easy to understand and maintain
  • Stop Loss to Take Profit ratio of 1:2 provides a positive risk-reward expectation
  • Breakout levels reset after each trade, avoiding repeated entries at the same level
  • Uses magic number to filter positions, preventing interference with other EAs or manual trades
  • Includes broker compliance check (CheckSL_TP) respecting minimum stop level requirements

Weaknesses

  • No check for existing positions in the same direction, potentially opening multiple positions on the same breakout and overexposing the account
  • Fixed lot size with no dynamic position sizing, unable to adjust risk based on account equity or volatility
  • Breakout strategy generates many false signals in ranging markets, leading to consecutive losses
  • No trade count limit or maximum position limit, risk exposure is uncontrolled
  • If corrected lot size falls below minimum volume it is silently set to 0 with no warning, making the EA unable to trade without user awareness

Possible improvements

  • Add position count limits and same-direction position checks to prevent overexposure
  • Implement dynamic position sizing (e.g., percentage of account equity or ATR-based) instead of fixed lots
  • Add a range/choppy market filter (e.g., ADX or ATR threshold) to pause trading during low-volatility or sideways conditions
  • When corrected lot size falls below minimum, OnInit should return INIT_FAILED and log an error message
  • Add maximum drawdown protection or daily loss limits to prevent catastrophic losses in extreme market conditions

Risk assessment

Overall risk: Medium

  • No position count limit, potentially opening multiple positions in the same direction leading to overexposure
  • Breakout strategy generates many false signals and consecutive losses in ranging markets
  • No maximum drawdown or daily loss protection mechanism
  • Lot correction failure silently sets lots to 0, user may be unaware the EA cannot trade

Evaluation scores

Code quality3.0
Strategy logic2.0
Risk management2.0
Robustness2.0
Innovation1.0
Documentation3.0
Overall2.2

Parameters

ParameterDefaultDescription
iLots0.01Trading lot size
iTimeFramePERIOD_CURRENTTimeframe for analysis
iTakeProfit400Take profit in points
iStopLoss200Stop loss in points
iMagicNumber227Unique EA order identifier (magic number)
iSlippage30Maximum allowedslippage(points)

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.