EA-21515 · Trend Following

Crossing Moving Average

This EA implements a dual moving average crossover strategy, generating 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 is a classic trend-following system that aims to capture directional moves by entering trades on confirmed crossover events. The EA typically includes configurable MA periods and lot sizing parameters.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4, D1
IndicatorsMA
AuthorRosh

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-3.12%-2.72%4.06%10247.50%————Same as other EAs
GBPUSD+4.59%+3.98%4.90%10052.00%————Same as other EAs
USDJPY+2.24%+1.94%3.84%9647.90%————Same as other EAs
XAUUSD+54.46%+43.22%46.98%9556.40%————Same as other EAs

On every market this backtest is identical to EA-20626. The automatic conversion almost certainly lost what makes this EA different (a custom indicator, a filter or the money management), so these results are not ranked or counted.

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 is based on the core concept of dual moving average crossover, using the crossing of short-term and long-term moving averages to identify changes in trend direction. Entry conditions are: go long when the fast MA crosses above the slow MA from below, and go short when the fast MA crosses below the slow MA from above, which essentially captures the initiation of new trends. Exit conditions typically involve closing the current position and opening a reverse position when an opposite crossover signal appears, meaning the strategy is always in the market with no flat periods. Position sizing usually employs fixed lot sizes without dynamic adjustment based on account equity or market volatility. Money management is relatively simplistic, lacking refined take-profit and stop-loss settings, relying entirely on reverse signals to exit positions. Overall, this is a basic trend-following strategy with clear logic but lacking depth in risk management design.

Strengths

  • Simple and clear strategy logic, easy to understand and verify
  • Effectively captures large trend moves during trending markets
  • Few parameters, relatively low risk of overfitting
  • Always in the market, never misses major trend moves
  • Dual MA crossover is a time-tested classic strategy framework

Weaknesses

  • Frequent false signals in ranging/sideways markets leading to consecutive losses
  • Moving averages are lagging indicators, causing significant delay in both entries and exits
  • Lack of stop-loss mechanism may result in excessive single-trade losses
  • Fixed lot sizing does not consider account risk proportion management
  • Always-in strategy continuously erodes capital during trendless periods
  • No volatility filter, using same parameters in both high and low volatility markets

Possible improvements

  • Add ADX or volatility filter to reduce trading frequency in ranging markets
  • Implement dynamic and trailing stop-loss mechanisms to protect profits
  • Realize ATR-based dynamic position sizing to adjust risk exposure based on market volatility
  • Add new bar check mechanism to prevent repeated entries on the same bar
  • Consider adding multi-timeframe confirmation to improve signal reliability

Risk assessment

Overall risk: Medium

  • Frequent false signals in ranging markets cause accumulation of consecutive small losses
  • Lack of stop-loss protection may lead to significant single-trade losses
  • MA lag causes substantial profit giveback during trend reversals
  • Fixed position sizing does not dynamically adjust risk based on account size

Evaluation scores

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

Parameters

ParameterDefaultDescription
FastMA_Period10Fast moving average period
SlowMA_Period30Slow moving average period
MA_MethodMODE_SMAMoving average calculation method
LotSize0.1Lot size per trade
StopLoss0Stop loss in points
TakeProfit0Take 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.