EMA LWMA RSI
This EA combines EMA and LWMA moving average crossover signals with RSI filtering to identify trend-following entry opportunities. It opens buy positions when the faster moving average crosses above the slower one and RSI confirms momentum, and sells on the reverse condition. The strategy uses a dual-indicator confirmation approach to reduce false signals in ranging markets.
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.57% | -2.23% | 5.26% | 136 | 46.30% | -0.62 | -0.49 | 5 | −$1.89 | Reliable |
| GBPUSD | -7.86% | -6.87% | 8.93% | 138 | 42.30% | -1.38 | -0.88 | 8 | −$5.91 | Reliable |
| USDJPY | -4.63% | -4.03% | 7.87% | 140 | 42.10% | -0.87 | -0.59 | 8 | −$3.31 | Reliable |
| XAUUSD | -100.00% | -100.00% | 100.00% | 35 | 45.70% | -1.72 | -1.00 | 4 | −$350.48 | 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 31% of 95 · GBPUSD: better than 7% of 95 · USDJPY: better than 19% of 95 · XAUUSD: better than 0% of 96
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 38% | +0.81% 2026-07 | -1.50% 2026-03 |
| GBPUSD | 31% | +1.11% 2026-05 | -1.67% 2026-02 |
| USDJPY | 23% | +1.13% 2026-01 | -2.05% 2026-09 |
| XAUUSD | 25% | +12.53% 2025-12 | -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 strategy concept is based on a dual moving average crossover combined with RSI momentum confirmation: using EMA as the fast moving average and LWMA as the slow moving average (or vice versa), trend direction is determined by their crossover. Entry conditions are a buy when the fast MA crosses above the slow MA and RSI is above a configured threshold, and a sell on the reverse crossover with RSI below its threshold. Exit conditions typically include fixed take-profit and stop-loss levels or closing on a reverse crossover signal. Position sizing uses a fixed lot approach without dynamic adjustment based on account balance or market volatility. Money management lacks risk percentage controls and has no explicit maximum loss limit per trade. The overall strategy logic is simple and clear, but lacks a ranging market filter, which may cause frequent false signals and consecutive losses during sideways conditions.
Strengths
- Dual-indicator confirmation reduces false signals and improves entry quality
- Simple and clear strategy logic, easy to understand and optimize
- Captures medium-to-long-term trend waves effectively in trending markets
- Using both EMA and LWMA provides richer trend information with different weighting methods
Weaknesses
- No ranging market filter, prone to frequent losses in sideways/non-trending conditions
- Fixed lot position sizing ignores account risk ratio, making risk uncontrolled with larger capital
- No new bar check mechanism, potentially opening duplicate positions on the same bar
- No spread filter, may enter trades with high spread leading to extra costs
Possible improvements
- Add ADX or volatility filter to pause trading during ranging markets and reduce false signals
- Implement risk-based position sizing using account equity percentage instead of fixed lots
- Add new bar check and spread filter mechanisms to improve execution robustness
Risk assessment
Overall risk: Medium
- Fixed lot sizing without risk percentage control can cause oversized single-trade losses with larger accounts
- No ranging market filter may cause consecutive stop-losses during sideways markets
- No new bar check may lead to duplicate position openings on the same candle
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
FastMA_Period | 9 | Fast MA period |
SlowMA_Period | 21 | Slow MA period |
RSI_Period | 14 | RSI indicator period |
RSI_BuyLevel | 50 | RSI threshold for long confirmation |
RSI_SellLevel | 50 | RSI threshold for short confirmation |
StopLoss | 30 | Stop loss in points |
TakeProfit | 60 | Take profit in points |
Lots | 0.1 | Fixed trading lot size |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.