Exp_2XMA_Ichimoku_Oscillator
This EA trades based on the crossover of two XMA (extended moving average) indicators combined with an Ichimoku Oscillator signal filter. It enters long when the fast XMA crosses above the slow XMA and the Ichimoku Oscillator confirms bullish momentum, and enters short on the opposite conditions. Positions are managed with fixed stop-loss and take-profit levels.
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.76% | +0.66% | 4.02% | 52 | 48.10% | 0.33 | 0.19 | 7 | +$1.46 | Reliable |
| GBPUSD | -3.64% | -3.17% | 6.79% | 43 | 37.20% | -0.93 | -0.54 | 6 | −$8.47 | Reliable |
| USDJPY | +1.47% | +1.27% | 3.69% | 42 | 42.90% | 0.47 | 0.40 | 5 | +$3.49 | Reliable |
| XAUUSD | +51.04% | +40.60% | 23.73% | 47 | 48.90% | 1.09 | 2.15 | 6 | +$108.60 | 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 63% of 95 · GBPUSD: better than 20% of 95 · USDJPY: better than 69% of 95 · XAUUSD: better than 77% of 96
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 62% | +1.74% 2026-10 | -2.10% 2026-03 |
| GBPUSD | 31% | +1.55% 2026-06 | -2.30% 2026-01 |
| USDJPY | 38% | +3.45% 2026-09 | -1.31% 2026-04 |
| XAUUSD | 46% | +45.46% 2026-01 | -7.72% 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 a dual XMA crossover combined with Ichimoku Oscillator signal filtering for trend confirmation. Entry conditions require the fast XMA crossing above the slow XMA while the Ichimoku Oscillator reads positive for long positions, and the reverse for short positions. Exit conditions use fixed stop-loss and take-profit levels, with an option to close positions on opposite crossover signals. Position sizing relies on a fixed lot size without dynamic scaling or risk-based adjustment. Money management does not implement equity-proportional lot sizing or risk percentage calculations, depending entirely on the user's manual lot parameter. The dual-filter approach combines trend-following with momentum confirmation, but lacks adaptive handling for market volatility, spread conditions, and choppy sideways markets where XMA crossovers can produce frequent whipsaws.
Strengths
- Dual indicator filtering reduces false signals by requiring both XMA crossover and Ichimoku Oscillator confirmation for entry quality
- Fixed stop-loss and take-profit provide clear risk control boundaries preventing excessive single-trade losses
- Clean and concise strategy logic with tunable parameters facilitates optimization and backtesting across different market conditions
Weaknesses
- XMA crossovers frequently generate whipsaw signals in ranging or choppy markets leading to consecutive losses
- Fixed lot sizing does not adapt to account equity or market volatility, resulting in weak money management capability
- Lacks spread filter and trading session filter, potentially executing trades during wide-spread or low-liquidity periods
Possible improvements
- Implement ATR-based dynamic stop-loss and take-profit to adapt risk controls to changing market volatility
- Add a ranging market detection filter (e.g., ADX or Bollinger Band width) to reduce or pause trading during consolidation periods
- Implement equity-proportional position sizing based on risk percentage to replace the fixed lot approach
Risk assessment
Overall risk: Medium
- Fixed stop-loss and take-profit may be inappropriate across volatility regimes—too wide in low volatility, too narrow in high volatility
- Lack of new bar check may cause repeated entries within the same candle
- Frequent crossover signals in ranging markets can accumulate consecutive stop-loss hits leading to significant drawdown
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
FastXMA_Period | 9 | Fast XMA period parameter |
SlowXMA_Period | 21 | Slow XMA period parameter |
XMA_Method | MODE_EMA | XMAsmoothing method |
XMA_AppliedPrice | PRICE_CLOSE | XMAapplied price type |
Ichimoku_Tenkan | 9 | Ichimoku Tenkan-sen conversion line period |
Ichimoku_Kijun | 26 | Ichimoku Kijun-sen base line period |
Ichimoku_Senkou | 52 | Ichimoku Senkou Span B period |
StopLoss | 400 | Stop loss in points |
TakeProfit | 800 | Take profit in points |
Lots | 0.1 | Fixed trading lot size |
MagicNumber | 12345 | EA magic number to identify its orders |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.