MA Cross
This EA implements a moving average crossover strategy, generating buy signals when a fast MA crosses above a slow MA 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 after crossover confirmation. The EA automatically opens and manages positions based on these MA crossover signals.
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.42% | +2.10% | 3.62% | 125 | 51.20% | 0.54 | 0.67 | 6 | +$1.94 | Reliable |
| GBPUSD | +4.31% | +3.74% | 4.64% | 125 | 54.00% | 0.76 | 0.93 | 5 | +$3.67 | Reliable |
| USDJPY | -2.43% | -2.12% | 8.30% | 218 | 46.50% | -0.39 | -0.29 | 9 | −$1.12 | Reliable |
| XAUUSD | +162.26% | +121.81% | 22.76% | 118 | 53.40% | 2.08 | 7.13 | 7 | +$137.51 | Reliable |
Profitable on 3 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 73% of 95 · GBPUSD: better than 78% of 95 · USDJPY: better than 27% of 95 · XAUUSD: better than 97% of 96
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 69% | +1.68% 2026-02 | -1.52% 2026-09 |
| GBPUSD | 62% | +3.56% 2026-02 | -2.74% 2026-03 |
| USDJPY | 38% | +1.27% 2026-09 | -3.20% 2026-03 |
| XAUUSD | 62% | +45.21% 2026-01 | -9.30% 2026-08 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: Elevated
- Has no stop loss or trailing stop
- Can hold up to 2 positions at once
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 employs a dual moving average crossover strategy as its core trading logic, which is a classic trend-following approach. Entry conditions are triggered when the fast MA crosses above the slow MA for buy signals (golden cross) and below for sell signals (death cross). Exit conditions typically rely on a reverse crossover signal to close positions or on stop-loss/take-profit levels, depending on parameter configuration. Position sizing is based on a fixed lot parameter without dynamic adjustment mechanisms. Money management relies on user-configured fixed lot sizes or risk ratios, lacking an adaptive money management module. The strategy performs well in strongly trending markets but is prone to frequent false signals and consecutive losses during ranging or choppy market conditions.
Strengths
- Simple and clear strategy logic that is easy to understand and validate, suitable for beginners learning trend-following concepts
- Effectively captures medium-to-long-term directional moves in trending markets with good risk-reward potential
- Few parameters with clear optimization space, reducing the risk of overfitting
Weaknesses
- Frequent false crossover signals in ranging markets lead to accumulated consecutive small losses
- MA crossover inherently has lag, causing entry prices to often be far from optimal levels
- Lacks dynamic position sizing and money management mechanisms, relying on manually configured parameters for risk control
Possible improvements
- Add a trend filter (such as ADX or higher timeframe MA) to reduce false signals in ranging markets
- Introduce a dynamic position sizing module that adapts lot size based on account balance and market volatility
Risk assessment
Overall risk: Medium
- Lacks filtering mechanism in ranging markets, potentially generating frequent false trading signals
- Fixed lot size without dynamic money management creates uncontrolled risk exposure with larger accounts
- Without stop-loss configured, single trades may incur significant losses
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
FastMA_Period | 10 | Fast moving average period |
SlowMA_Period | 50 | Slow moving average period |
MA_Method | MODE_SMA | Moving average calculation method |
LotSize | 0.1 | Fixed trading lot size |
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.