exp_x2ma_jjrsx
This EA generates trading signals based on the crossover of two moving averages (x2MA) combined with the Jurik RSX (JJRSX) momentum indicator as a filter. It enters long when the fast MA crosses above the slow MA and JJRSX confirms bullish momentum, and enters short on the reverse conditions. The strategy is a systematic trend-following system with momentum confirmation.
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.98% | -3.47% | 6.65% | 144 | 44.80% | -0.81 | -0.60 | 5 | −$3.02 | Reliable |
| GBPUSD | -13.33% | -11.69% | 13.64% | 144 | 37.10% | -2.26 | -0.98 | 7 | −$9.48 | Reliable |
| USDJPY | -7.45% | -6.51% | 11.54% | 145 | 46.50% | -1.24 | -0.65 | 9 | −$5.07 | Reliable |
| XAUUSD | -100.00% | -100.00% | 100.00% | 37 | 48.60% | -1.82 | -1.00 | 4 | −$361.08 | Account stopped out |
Profitable on 0 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 16% of 95 · GBPUSD: better than 1% of 95 · USDJPY: better than 5% of 95 · XAUUSD: better than 0% of 96
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 38% | +1.54% 2026-09 | -1.91% 2026-07 |
| GBPUSD | 15% | +1.29% 2026-01 | -3.42% 2026-07 |
| USDJPY | 46% | +1.51% 2026-01 | -2.84% 2026-04 |
| XAUUSD | 25% | +3.11% 2025-11 | -100.00% 2026-02 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: High
- Hit a stop-out in our backtest (equity below 10%) on XAUUSD
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 strategy of this EA is a dual moving average crossover system filtered by the Jurik RSX momentum indicator. Entry conditions are: go long when the fast MA crosses above the slow MA while JJRSX confirms bullish momentum (rising or above a threshold), and go short on the reverse. The dual MA crossover is a classic trend-following approach, while JJRSX serves as a smoothed momentum indicator that reduces signal noise compared to standard RSI, effectively filtering out false breakouts and whipsaws in ranging markets. Exit conditions rely on reverse crossover signals or JJRSX momentum reversal. Position sizing supports fixed lot trading, and some versions may include dynamic lot calculation based on account balance. Money management provides stop loss and take profit parameters, though the specific risk controls depend on parameter configuration. Overall, this strategy performs well in clearly trending markets but may generate frequent false signals leading to consecutive losses in choppy, range-bound conditions.
Strengths
- Dual indicator filtering reduces false signals compared to a single MA crossover system; JJRSX's smoothing characteristic significantly reduces signal noise
- Clear and understandable strategy logic with highly adjustable parameters, suitable for optimization across different market conditions
- Trend-following strategy performs robustly in clear trending markets with good risk-reward ratio potential
Weaknesses
- The dual MA crossover system inherently suffers from lag; by the time entry signals fire, the trend may already be well underway, reducing potential profit
- In ranging markets, MA crossovers occur frequently, and even with JJRSX filtering, consecutive losses are still possible
- Default stop loss and take profit are set to 0, meaning without manual configuration the EA lacks basic risk protection, posing significant capital risk
Possible improvements
- Add new bar checking to prevent repeated entries within the same candle; add spread filtering to avoid entries in high-spread environments
- Introduce trailing stop mechanism to lock in profits during trending moves; add ATR-based dynamic stop loss and take profit for adaptive volatility management
- Add trading session filtering to avoid trading during low-liquidity periods; implement maximum position count and maximum drawdown limits as money management modules
Risk assessment
Overall risk: Medium
- Default SL/TP of 0 leaves positions fully exposed to market risk without configuration, potentially leading to massive single-trade losses
- Lack of new bar check may cause multiple entries within the same candle, leading to overtrading
- MA crossover strategy may generate frequent false signals in ranging markets, causing accumulated losses from consecutive small losses
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
FastMA_Period | 9 | Fast line moving average period |
SlowMA_Period | 21 | Slow line moving average period |
FastMA_Method | MODE_SMA | Fast line MA calculation method |
SlowMA_Method | MODE_SMA | Slow line MA calculation method |
FastMA_AppliedPrice | PRICE_CLOSE | Fast line MA applied price |
SlowMA_AppliedPrice | PRICE_CLOSE | Slow line MA applied price |
JJRSX_Period | 14 | Jurik RSX indicator period |
JJRSX_LevelUp | 70 | JJRSXoverbought threshold |
JJRSX_LevelDown | 30 | JJRSXoversold threshold |
StopLoss | 0 | Stop loss in points |
TakeProfit | 0 | Take profit in points |
Lots | 0.1 | Fixed trading lot size |
MagicNumber | 12345 | EA magic number |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.