Plateau
This EA identifies plateau or consolidation phases in price movement and enters trades when a breakout from the plateau occurs. It combines plateau detection logic with trend-following entry to capture momentum shifts after periods of sideways price action. The system manages positions with stop loss and take profit levels derived from the plateau range.
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 | -2.22% | -1.93% | 7.60% | 62 | 36.10% | -0.38 | -0.29 | 4 | −$3.08 | Reliable |
| GBPUSD | -9.58% | -8.38% | 14.31% | 64 | 32.80% | -1.39 | -0.67 | 7 | −$14.97 | Reliable |
| USDJPY | -3.95% | -3.44% | 5.84% | 96 | 36.80% | -0.77 | -0.68 | 5 | −$4.15 | Reliable |
| XAUUSD | -5.89% | -4.89% | 68.29% | 56 | 30.90% | 0.52 | -0.09 | 7 | −$46.93 | Reliable |
Profitable on 0 of 4 markets with reliable results.
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.
Against the other Trend Following EAs with a reliable result on the same market: EURUSD: better than 32% of 95 · GBPUSD: better than 5% of 95 · USDJPY: better than 22% of 95 · XAUUSD: better than 44% of 96
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 38% | +2.85% 2026-01 | -2.67% 2026-07 |
| GBPUSD | 31% | +2.22% 2026-08 | -4.27% 2026-02 |
| USDJPY | 38% | +1.43% 2026-06 | -2.22% 2025-12 |
| XAUUSD | 54% | +50.03% 2026-01 | -39.97% 2026-07 |
From the backtest equity curve, sampled about every two days; only reliable results.
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 core strategy concept is detecting when price enters a plateau phase—a consolidation zone where price oscillates within a narrow range—and then entering on a breakout from that plateau. Entry conditions trigger when price breaks above the plateau upper boundary for long positions or below the lower boundary for short positions, confirming a directional momentum shift. Exit conditions include a stop loss placed on the opposite side of the plateau boundary and a take profit calculated as a multiple of the plateau height, plus an optional trailing stop to lock in profits as the trade moves favorably. Position sizing uses either fixed lots or a balance-proportional method to keep per-trade risk consistent and manageable. Money management dynamically adjusts stop loss distance based on the measured plateau range height, though overall risk control depends heavily on user-configured parameters being set prudently. The strategy incorporates some filtering logic to reduce the likelihood of entering on false breakouts from the consolidation zone.
Strengths
- Plateau detection logic is sound—capturing breakouts after consolidation has high win-rate potential
- Dynamic SL/TP calculation based on plateau height adapts well to varying volatility environments
- Maximum position limit prevents overexposure and uncontrolled risk accumulation
- Trailing stop feature effectively protects unrealized profits as trades move favorably
- Clear strategy concept with highly tunable parameters facilitates optimization across different instruments
Weaknesses
- Plateau detection is parameter-sensitive and requires re-optimization for different instruments and timeframes
- Lacks deep false-breakout filtering, which may cause repeated stop-outs in choppy narrow-range markets
- Trading costs (spread and commission) impact on profitability are not accounted for, especially problematic in low-volatility plateaus
- Fixed lot mode is not dynamically linked to account risk, potentially leading to over- or under-exposure
- Missing multi-timeframe confirmation means single-period breakouts could be noise rather than trend initiation
Possible improvements
- Add multi-timeframe confirmation, e.g., require H1 trend direction alignment when H4 plateau breakout signals
- Incorporate spread filtering and minimum plateau height threshold to avoid entries when costs are too high or consolidation is insufficient
- Implement dynamic position sizing based on account risk percentage to replace the fixed lot approach
Risk assessment
Overall risk: Medium
- Lack of deep false-breakout filtering may cause consecutive stop-outs and drawdown in choppy markets
- Fixed lot sizing is not dynamically tied to account risk, potentially over-risking small accounts
- Spread and commission costs are not factored in, which may erode profits on low-volatility instruments
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
PlateauPeriod | 20 | Plateau detection period; bars for consolidation range |
BreakoutDistance | 50 | Breakout confirmation distance; price must exceed boundary by this |
StopLossMultiplier | 1.0 | Stop loss multiplier; SL = plateau height × multiplier |
TakeProfitMultiplier | 2.0 | Take profit multiplier; TP = plateau height × multiplier |
Lots | 0.1 | Fixed lot size per trade |
TrailingStop | true | Enable trailing stop function |
TrailingStep | 30 | Trailing stop step in points |
MaxPositions | 1 | Maximum simultaneous positions |
MagicNumber | 23556 | EA magic number; 0 monitors all orders |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.