EA-22127 · Trend Following

One Two Three

This EA implements a '1-2-3' trend reversal pattern recognition strategy, identifying pivot-based structure breaks to enter trades in the direction of the emerging trend. It detects the classic 1-2-3 chart pattern where point 1 is a swing high/low, point 2 is a retracement, and point 3 is a lower high / higher low that fails to exceed point 1, signaling a potential trend change. Entries are taken when price breaks beyond point 2 after the pattern completes, with stop-loss placed beyond point 3.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesM15, H1, H4, D1
IndicatorsSwing High/LLow, Fractals, ATR
Author—

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

This EA trades based on the classic 1-2-3 reversal pattern, a well-known price action methodology. Entry conditions: it identifies a swing high (bearish setup) or swing low (bullish setup) as point 1, a retracement forming point 2, and a re-test creating point 3 that fails to exceed point 1, with entry triggered on a breakout beyond point 2. Exit conditions: stop-loss is placed beyond point 3, and take-profit targets are typically set using risk-reward ratios or fixed pip distances. Position sizing is controlled via lot size parameters, with some implementations supporting dynamic lot calculation based on account balance or risk percentage. Money management benefits from the structure-based stop-loss placement, which adapts to market volatility rather than using fixed pip stops. The strategy logic is clear and follows a proven price action approach, but it heavily depends on accurate swing point identification, which can generate numerous false signals in choppy or ranging markets.

Strengths

  • Based on a classic price action pattern with proven long-term market validation
  • Structure-based stop-loss adapts to varying market volatility conditions
  • Clear entry signals with objective trading rules from 1-2-3 pattern breakout
  • Supports dynamic position sizing based on account risk percentage

Weaknesses

  • Frequent false 1-2-3 patterns in choppy/ranging markets generate many whipsaw signals
  • Swing point identification is parameter-sensitive and depends heavily on lookback period
  • Lacks multi-timeframe confirmation, making single-timeframe entries vulnerable to noise
  • No explicit drawdown control mechanism mentioned

Possible improvements

  • Add multi-timeframe confirmation to filter entries against higher-timeframe trend direction
  • Implement ATR-based dynamic stop-loss and take-profit instead of fixed pip targets
  • Add pattern quality filters requiring minimum distance ratios between 1-2-3 points

Risk assessment

Overall risk: Medium

  • False signals in ranging markets may lead to consecutive losses
  • Improper swing detection parameters may miss valid signals or generate excessive wrong entries
  • No maximum drawdown limit or consecutive loss protection mechanism

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.5

Parameters

ParameterDefaultDescription
LotSize0.1Lot size per trade
StopLoss0Stop loss in points (0=structure-based)
TakeProfit0Take profit in points (0=structure-based)
SwingPeriod5Swing point identification period
MagicNumber12345Close orders with specified magic number (-1=all)
MaxSpread30Maximum allowed spread
RiskPercent2Risk percentage for dynamic lot sizing

Similar Trend Following 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.