Modified Moving Averages
This EA trades based on modified moving average crossover signals, generating buy entries when a fast modified MA crosses above a slow modified MA and sell entries on the reverse crossover. It applies a modified moving average calculation that reduces lag compared to standard MAs, aiming for earlier trend detection and entry. The system includes basic risk parameters such as lot size, stop loss, and take profit for trade management.
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 | +0.35% | +0.31% | 3.50% | 131 | 48.50% | 0.10 | 0.10 | 5 | +$0.53 | Reliable |
| GBPUSD | -2.15% | -1.87% | 5.59% | 133 | 50.00% | -0.33 | -0.39 | 5 | −$1.45 | Reliable |
| USDJPY | +5.43% | +4.70% | 3.85% | 132 | 55.70% | 0.92 | 1.41 | 6 | +$4.03 | Reliable |
| XAUUSD | +119.92% | +91.78% | 48.31% | 136 | 56.30% | 1.22 | 2.48 | 5 | +$90.67 | 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 61% of 95 · GBPUSD: better than 29% of 95 · USDJPY: better than 96% of 95 · XAUUSD: better than 92% of 96
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 46% | +2.44% 2026-06 | -1.32% 2026-09 |
| GBPUSD | 46% | +2.33% 2026-02 | -2.87% 2026-03 |
| USDJPY | 54% | +4.16% 2026-09 | -2.09% 2026-08 |
| XAUUSD | 69% | +56.22% 2026-02 | -5.24% 2026-10 |
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
The strategy concept is based on the crossover of modified moving averages (MMA), which adjusts the traditional moving average calculation to reduce lag and more sensitively capture trend reversals. Entry conditions generate a long position when the fast MMA crosses above the slow MMA and a short position on the reverse crossover, representing a classic trend-following approach. Exit conditions rely on fixed stop loss and take profit values that close positions when price reaches preset levels, and may also close on opposing crossover signals. Position sizing uses a fixed lot approach determined by user-configured parameters without dynamic sizing or percentage-based capital allocation. Money management relies solely on stop loss and take profit ratios to control per-trade risk, lacking comprehensive account-level risk controls such as maximum drawdown limits or consecutive loss protection mechanisms.
Strengths
- Modified moving averages reduce traditional MA lag, enabling earlier trend change detection
- Strategy logic is simple and clear with few parameters, making it easy to understand and optimize
- Trend-following strategy performs well in strong directional markets
- Fixed stop loss and take profit provide a basic risk control framework
- Signal generation based on indicator crossovers offers objectivity and repeatability
Weaknesses
- Trend-following strategies are prone to frequent false signals and losses in ranging or choppy markets
- Fixed lot position sizing does not adapt to account size changes, making risk control inflexible
- Lacks account-level risk management such as maximum drawdown limits or daily loss caps
- Although improved over standard MAs, modified MAs can still generate false signals in noisy market conditions
- Does not include advanced position management features like scaling in/out or trailing stops
Possible improvements
- Add a market state filter (e.g., ADX or volatility indicator) to reduce trade frequency or pause trading in ranging markets
- Implement dynamic position sizing based on account equity percentage instead of fixed lots
- Add trailing stop functionality to lock in more profit during trending moves
- Introduce multi-timeframe confirmation to improve signal reliability
- Add maximum drawdown and consecutive loss protection mechanisms
Risk assessment
Overall risk: Medium
- Fixed lot sizing does not adjust with account size, potentially causing proportionally large losses during drawdowns
- Lacks account-level risk controls such as maximum drawdown limits
- MA crossover strategy generates frequent false signals in ranging markets leading to consecutive losses
- No new bar detection may cause duplicate position openings on the same candle
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
FastMA_Period | 12 | Fast modified moving average period |
SlowMA_Period | 26 | Slow modified moving average period |
LotSize | 0.1 | Initial lot size, martingale base quantity |
StopLoss | 50 | Stop loss in points, max loss per trade |
TakeProfit | 100 | Group TP in points, close all at this profit |
MMA_Method | 0 | Modified moving average calculation method |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.