cs2011
This EA trades based on MACD histogram zero-crossings and signal line divergence patterns. It uses a dynamic lot sizing model tied to account equity growth relative to an initial deposit. Positions are opened on new bars when momentum shifts are detected, with optional take-profit and stop-loss 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 | +4.65% | +4.03% | 3.56% | 39 | 42.10% | 1.07 | 1.31 | 5 | +$11.79 | Reliable |
| GBPUSD | +3.19% | +2.77% | 3.68% | 42 | 36.60% | 0.58 | 0.87 | 6 | +$7.06 | Reliable |
| USDJPY | +7.31% | +6.32% | 5.80% | 47 | 40.40% | 1.64 | 1.26 | 7 | +$15.55 | Reliable |
| XAUUSD | -93.97% | -90.18% | 96.22% | 35 | 48.60% | -1.25 | -0.98 | 6 | −$268.49 | Account stopped out |
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 Momentum EAs with a reliable result on the same market: EURUSD: better than 82% of 68 · GBPUSD: better than 83% of 66 · USDJPY: better than 91% of 68 · XAUUSD: better than 20% of 75
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 54% | +4.02% 2026-03 | -1.59% 2026-10 |
| GBPUSD | 54% | +1.84% 2026-03 | -1.83% 2025-12 |
| USDJPY | 54% | +4.03% 2026-09 | -1.84% 2026-03 |
| XAUUSD | 23% | +9.75% 2026-01 | -76.61% 2026-07 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: High
- Has no stop loss or trailing stop
- 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 MACD momentum reversal trading, detecting MACD histogram zero-line crossovers to identify trend direction shifts, supplemented by signal line extremum points (signal line turning) as auxiliary entry signals. Entry conditions are twofold: first, MACD histogram crossing from positive to negative (sell signal) or negative to positive (buy signal); second, when the MACD histogram maintains the same sign but the signal line shows a turning point. Exit conditions rely solely on fixed TP take-profit points and SL stop-loss points, with SL defaulting to 0 meaning no stop-loss protection. Position management uses a reversal logic — if a same-direction position already exists, the lot size is reduced; if opposite, the lot size is increased to reverse the position. Money management dynamically adjusts lot size based on cumulative account profit/loss using the formula Risk×Money/Deposit, with lots normalized between minimum and maximum volume limits. The strategy only calculates signals on each new bar to avoid repeated trading, but the default SL=0 creates significant risk exposure with no stop-loss protection.
Strengths
- Dynamic money management automatically adjusts position size based on account equity, increasing lots on profit and decreasing on loss
- Dual entry signals (zero-line crossover plus signal line turning point) improve entry timing reliability
- New bar detection mechanism prevents redundant signal calculation and over-trading within the same bar
Weaknesses
- SL defaults to 0 with no stop-loss protection, exposing trades to unlimited potential loss on a single position
- The reversal position logic can significantly increase lot size when reversing direction, amplifying risk exposure
- MACD parameters (30/500/36) are extremely long-period, causing severe signal lag and potentially missing optimal entry timing
- No maximum holding time or trailing stop, meaning profits can experience significant drawdowns before TP is hit
Possible improvements
- Add mandatory stop-loss logic — even when SL=0, a fallback stop based on ATR or a fixed percentage should be implemented
- Add maximum holding time or trailing stop mechanism to protect floating profits from significant drawdowns
Risk assessment
Overall risk: High risk
- SL defaults to 0 with absolutely no stop-loss protection, creating unlimited risk exposure per trade
- Position reversal adds lot sizes together, potentially creating oversized positions with high margin call risk
- ORDER_FILLING_FOK fill mode may repeatedly fail in low-liquidity conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Risk | 3 | Initial risk multiplier for dynamic lot sizing |
TP | 2200 | Take profit in points |
SL | 0 | Stop loss in points; 0 disables stop loss |
Fast | 30 | MACD fast EMA period |
Slow | 500 | MACD slow EMA period |
Sign | 36 | MACD signal line SMA period |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.