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
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | -3.12% | -2.72% | 4.06% | 102 | 47.50% | — | — | — | — | Same as other EAs |
| GBPUSD | +4.59% | +3.98% | 4.90% | 100 | 52.00% | — | — | — | — | Same as other EAs |
| USDJPY | +2.24% | +1.94% | 3.84% | 96 | 47.90% | — | — | — | — | Same as other EAs |
| XAUUSD | +54.46% | +43.22% | 46.98% | 95 | 56.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
Parameters
| Parameter | Default | Description |
|---|---|---|
FastMA_Period | 10 | Fast moving average period |
SlowMA_Period | 30 | Slow moving average period |
MA_Method | MODE_SMA | Moving average calculation method |
LotSize | 0.1 | Lot size per trade |
StopLoss | 0 | Stop loss in points |
TakeProfit | 0 | Take profit in points |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.