Exp_RMACD
This EA trades based on the ColorRMACD indicator, a volume-weighted MACD variant with customizable signal line smoothing. It offers four entry algorithms: zero-line breakout, MACD direction change, signal line direction change, and MACD/signal line crossover. Positions are opened and closed based on these momentum signals with configurable buy/sell permissions and fixed stop-loss/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.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
Why this EA never traded: no entry rule survived the conversion.
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.
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 core strategy of this EA trades based on momentum signals from the RMACD indicator, which is a volume-weighted MACD variant. Entry conditions offer four selectable modes: zero-line breakout detects the MACD histogram crossing zero; MACD twist detects directional change in the MACD histogram; signal twist detects directional change in the signal line; and MACD disposition detects crossovers between the MACD histogram and signal line. Exit conditions include reverse signal-triggered closes and fixed stop-loss/take-profit in points. Position sizing is controlled by the MM parameter, where negative values represent fixed lot sizes and positive values represent a share of the deposit. Money management lacks scaling logic, with each trade independently calculating position size. The strategy leverages the CXMA class supporting multiple smoothing algorithms (SMA, EMA, JJMA, JurX, T3, VIDYA, AMA, etc.), enhancing signal line flexibility. The EA detects signals on new bar formation to avoid repeated trades on the same bar, but lacks spread filtering and explicit slippage protection beyond the Deviation parameter.
Strengths
- Four entry algorithm modes provide flexible and configurable strategy options
- Supports multiple advanced smoothing algorithms (JJMA, JurX, T3, etc.), yielding higher quality signal lines than traditional MACD
- New bar detection mechanism prevents duplicate trades on the same bar
- Buy and sell directions can be independently controlled, supporting one-directional-only trading
- Complete stop-loss and take-profit parameters provide basic risk control
Weaknesses
- Lacks spread filtering, which may result in unfavorable fills in high-spread environments
- Fixed stop-loss and take-profit do not adapt to varying market volatility; no ATR-based dynamic stops
- The MM parameter's positive-value money management logic depends on an external library, reducing readability
- No position check before opening, potentially leading to duplicate positions in the same direction
- The Value array indexing direction relative to CopyBuffer return order requires careful verification and is error-prone
Possible improvements
- Add spread filtering to pause trade opening when spread exceeds a configurable threshold
- Implement ATR-based dynamic stop-loss and take-profit to adapt to changing market volatility
- Add position check logic to avoid duplicate openings in the same direction
- Introduce signal confirmation mechanisms (e.g., multi-timeframe or volume confirmation) to reduce false signals
Risk assessment
Overall risk: Medium
- Lack of spread filtering may cause unnecessary losses in high-spread environments
- No position check may lead to duplicate openings and excessive exposure
- Fixed stop-loss and take-profit may be inappropriate under different volatility conditions
- Dependency on the external custom indicator ColorRMACD; EA cannot run if the indicator is missing
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Deposit fraction or lot size; negative value = fixed lots |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum price deviation in points |
BuyPosOpen | true | Allow buy position opening |
SellPosOpen | true | Allow sell position opening |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
Mode | MACDdisposition | Entry mode: zero-line breakout / MACD reversal / signal line reversal / MACD crossover |
InpInd_Timeframe | PERIOD_H4 | Indicator timeframe |
Fast_RVI | 12 | Fast moving average period |
Slow_TRVI | 26 | Slow moving average period |
VolumeType | VOLUME_TICK | Volume type (tick / real volume) |
Signal_Method | MODE_SMA | Signal line smoothing method |
Signal_XMA | 9 | Signal line period |
Signal_Phase | 100 | Signal line phase parameter (-100 to +100) |
SignalBar | 1 | Bar index for entry signal |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.