EA-26315 · Trend Following

Moving Averages

This EA is a classic moving average crossover system that generates buy signals when a fast moving average crosses above a slow moving average, and sell signals when the fast MA crosses below the slow MA. It opens positions based on these crossover events and typically includes configurable MA periods and lot sizing. The strategy is a foundational trend-following approach suitable for trending markets.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsMA, SMA
AuthorGenerated with Bots Builder Pro: 2022.12.09 09:26:02

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-5.82%-5.08%6.93%11843.60%-1.25-0.847−$4.69Reliable
GBPUSD-3.38%-2.94%5.74%12252.50%-0.52-0.595−$2.77Reliable
USDJPY-2.41%-2.10%8.27%11952.50%-0.45-0.299−$1.91Reliable
XAUUSD-63.52%-56.53%84.89%11847.90%-0.60-0.756−$52.17Reliable

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 8% of 95 · GBPUSD: better than 23% of 95 · USDJPY: better than 28% of 95 · XAUUSD: better than 18% of 96

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD23%+2.06% 2026-03-2.17% 2026-06
GBPUSD46%+1.82% 2026-04-2.23% 2026-03
USDJPY46%+2.59% 2026-07-3.51% 2026-01
XAUUSD46%+27.50% 2026-11-43.04% 2026-08

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

This EA is based on a moving average crossover strategy, which is a classic trend-following approach. Entry conditions are a golden cross (fast MA crossing above slow MA) for buy signals and a death cross (fast MA crossing below slow MA) for sell signals, triggered at the moment of crossover. Exit conditions typically rely on reverse crossover signals or fixed stop-loss/take-profit levels, with some versions potentially including trailing stop functionality. Position sizing uses a fixed lot approach with a small default lot size, lacking dynamic adjustment based on account balance. Money management is relatively simple, with no dynamic risk ratio calculation or equity curve protection logic. The overall strategy logic is clear and easy to understand, but it tends to generate frequent false signals in ranging markets, leading to consecutive losses.

Strengths

  • Clear and simple strategy logic, easy to understand and verify
  • High configurability with customizable MA periods and lot sizes
  • Performs well in trending markets, capable of capturing medium-to-long-term trends
  • Well-structured code, suitable as a beginner example for learning MQL5 programming
  • Includes risk ratio and decrease factor parameters providing a basic money management framework

Weaknesses

  • Generates frequent false signals in ranging markets leading to consecutive losses
  • Lacks advanced filtering mechanisms such as ADX trend strength or multi-timeframe confirmation
  • Fixed lot sizing is inflexible, not dynamically adjusted based on volatility
  • Stop-loss and take-profit settings are inadequate, default values may be zero leading to excessive risk exposure
  • No new bar check mechanism, potentially opening duplicate positions on the same bar

Possible improvements

  • Add ADX or trend strength filter to reduce false signals in ranging markets
  • Implement multi-timeframe confirmation to improve signal reliability
  • Implement ATR-based dynamic stop-loss and position sizing

Risk assessment

Overall risk: Medium

  • Default stop-loss may be zero, creating unlimited loss risk
  • No new bar check, potentially opening multiple positions on a single bar causing overtrading
  • Lacks spread filter, may enter trades inappropriately during high-spread conditions
  • Consecutive false signals in ranging markets can cause significant drawdown

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation3.0
Overall2.5

Parameters

ParameterDefaultDescription
Lots0.1Lot size per trade
MaximumRisk0.02maximumrisk ratio
DecreaseFactor3Lot reduction factor after loss
MovingPeriodFast12Fast MA period
MovingPeriodSlow26Slow MA period
MovingShift0MA offset
StopLoss0Auto stop loss in points
TakeProfit0Auto take profit in points

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.