Intersection 2 iMA
This EA trades based on the intersection (crossover) of two Moving Average indicators (iMA). It opens buy positions when the fast MA crosses above the slow MA and sell positions when the fast MA crosses below the slow MA, implementing a classic trend-following strategy.
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.81% | -0.70% | 5.00% | 127 | 51.60% | -0.15 | -0.16 | 5 | −$0.37 | Reliable |
| GBPUSD | +4.55% | +3.95% | 4.08% | 126 | 50.80% | 0.80 | 1.11 | 9 | +$3.61 | Reliable |
| USDJPY | -2.16% | -1.88% | 8.07% | 128 | 52.00% | -0.33 | -0.27 | 5 | −$1.82 | Reliable |
| XAUUSD | -12.90% | -10.78% | 60.30% | 128 | 48.00% | 0.15 | -0.21 | 5 | −$8.20 | Reliable |
Profitable on 1 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 47% of 95 · GBPUSD: better than 81% of 95 · USDJPY: better than 29% of 95 · XAUUSD: better than 38% of 96
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 54% | +1.49% 2026-08 | -1.85% 2026-06 |
| GBPUSD | 38% | +2.79% 2026-01 | -1.73% 2026-10 |
| USDJPY | 46% | +2.65% 2026-04 | -3.56% 2026-08 |
| XAUUSD | 46% | +26.37% 2026-01 | -26.53% 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
The core concept of this strategy is dual moving average crossover, a classic trend-following approach. Entry conditions are triggered when the fast moving average crosses the slow moving average — a golden cross signals a buy, while a death cross signals a sell. Exit conditions typically rely on the opposite crossover signal or fixed stop-loss/take-profit levels. Position sizing may use fixed lots or dynamic lot calculation based on account equity. Money management is relatively basic, usually relying on parameterized stop-loss and take-profit to control per-trade risk. The strategy performs well in strongly trending markets but suffers from frequent false signals during ranging or choppy conditions. The inherent lag of moving average crossover strategies means signals are generated after a significant portion of the move has already occurred.
Strengths
- Strategy logic is simple and clear, easy to understand and maintain
- Classic trend-following approach with stable performance in trending markets
- Few parameters with large optimization space, adaptable to different instruments and timeframes
Weaknesses
- Moving average crossover signals have significant lag, entry points are often suboptimal
- Frequent false signals in ranging markets lead to consecutive losses
- Lacks market state (trending/ranging) filtering mechanism
Possible improvements
- Add a trend filter (such as ADX or ATR) to reduce false signals in ranging markets
- Implement a trailing stop to protect accumulated profits
- Add multi-timeframe confirmation to improve signal reliability
Risk assessment
Overall risk: Medium
- Lack of position existence check may lead to duplicate openings
- Stop-loss set to 0 exposes the account to unlimited loss risk
- No new bar check may cause repeated trading on the same bar
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
FastMA_Period | 9 | Fast moving average period |
SlowMA_Period | 21 | Slow moving average period |
MA_Method | MODE_SMA | Moving average method (SMA/EMA/WMA etc.) |
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.