Champion
This EA uses RSI overbought/oversold levels to place pending Buy Stop and Sell Stop orders in the direction of momentum. It opens three orders at a time with dynamic lot sizing based on free margin, and trails stop losses while modifying pending order prices to follow the market. Take profit and stop loss are fixed pip-based values.
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 | -9.34% | -8.17% | 10.47% | 85 | 43.50% | -2.30 | -0.89 | 6 | −$10.99 | Reliable |
| GBPUSD | -2.02% | -1.75% | 3.92% | 87 | 52.30% | -0.38 | -0.52 | 4 | −$2.07 | Reliable |
| USDJPY | +1.17% | +1.01% | 4.15% | 76 | 49.30% | 0.27 | 0.28 | 8 | +$1.35 | Reliable |
| XAUUSD | +105.12% | +81.05% | 39.08% | 91 | 54.40% | 1.57 | 2.69 | 8 | +$119.56 | Reliable |
Profitable on 2 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 Momentum EAs with a reliable result on the same market: EURUSD: better than 1% of 68 · GBPUSD: better than 41% of 66 · USDJPY: better than 68% of 68 · XAUUSD: better than 93% of 75
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 15% | +0.86% 2026-10 | -2.48% 2026-01 |
| GBPUSD | 46% | +1.69% 2026-02 | -2.03% 2026-01 |
| USDJPY | 62% | +2.37% 2026-05 | -1.58% 2026-02 |
| XAUUSD | 77% | +62.45% 2026-02 | -16.13% 2026-01 |
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 RSI momentum reversal: when RSI falls below 30, the market is considered oversold and about to rise, so 3 BuyStop pending orders are placed; when RSI rises above 70, the market is considered overbought and about to fall, so 3 SellStop pending orders are placed. Entry conditions rely on RSI crossing threshold levels, entering via pending stop orders when price breaks beyond the current level. Exit conditions depend on fixed take profit (150 pips) and stop loss (50 pips), giving a risk-reward ratio of 3:1. Position sizing uses three split pending orders, each with 1/3 of the total calculated lot size. Money management dynamically calculates lots based on account free margin, at 0.1 lots per 2000 margin, capped at 15 lots with a floor of 0.1 lots. Additionally, the EA trails stop losses on open positions and pulls back pending orders that are more than 20 pips away from the current price to within 20 pips.
Strengths
- Risk-reward ratio of 3:1 provides potential for positive expectancy
- Dynamic lot sizing adapts position size to account balance automatically
- Trailing stop and pending order tracking help lock in floating profits
- Three split pending orders provide diversification through partial position entries
Weaknesses
- Stop loss of 50 pips is much smaller than take profit of 150 pips but lacks drawdown protection; volatile markets may trigger stops immediately
- Opening 3 same-direction orders at once increases concentrated risk exposure
- No new bar check means logic may redundantly trigger on every tick wasting resources
- Bug in SellStop modification logic with duplicate OrderSend call on lines 204 and 207
- Pending order distance relies only on StopLevel without considering spread changes, which may fail with large slippage
Possible improvements
- Add new bar check to avoid redundant trade logic execution on every tick
- Fix the duplicate OrderSend bug in SellStop modification section (line 207)
- Add maximum position limit and daily max loss limit for enhanced risk control
- Externalize pending order count and distance parameters for user customization
Risk assessment
Overall risk: Caution
- Opening 3 same-direction orders simultaneously creates excessive concentrated risk exposure
- Duplicate OrderSend bug in SellStop modification logic may cause abnormal trading behavior
- No new bar check may cause redundant logic triggering on every tick
- Dynamic lot sizing with high leverage may generate oversized positions
- No maximum drawdown or daily loss limit protection
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
TP | 150 | Take-profit in points |
SL | 50 | Stop-loss in points |
RSIPeriod | 14 | RSI period |
RSILevel | 30 | RSI overbought/oversold threshold |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.