Exp_ColorRsiMACD
This EA trades based on the ColorRsiMACD custom indicator, which applies RSI smoothing with configurable averaging methods before computing a MACD-style oscillator. It offers four trading modes: MACD zero-line breakdown, MACD direction twist, signal line twist, and MACD-vs-signal disposition crossover, opening and closing positions accordingly.
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.78% | +2.41% | 3.99% | 14 | 50.00% | 0.75 | 0.70 | 3 | +$19.82 | Reliable |
| GBPUSD | +2.45% | +2.13% | 4.42% | 9 | 55.60% | — | — | — | — | Too few trades |
| USDJPY | -2.49% | -2.17% | 4.74% | 12 | 18.20% | -0.72 | -0.53 | 6 | −$23.91 | Reliable |
| XAUUSD | +39.05% | +31.31% | 10.13% | 14 | 85.70% | 2.12 | 3.85 | 1 | +$278.95 | Reliable |
Profitable on 2 of 3 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 75% of 68 · USDJPY: better than 37% of 68 · XAUUSD: better than 72% of 75
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 54% | +1.82% 2026-01 | -1.43% 2026-02 |
| USDJPY | 31% | +2.19% 2026-07 | -1.66% 2026-04 |
| XAUUSD | 54% | +13.24% 2026-01 | 0.00% 2025-11 |
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 core strategy constructs a MACD indicator from RSI values processed through configurable smoothing algorithms (JJMA, JurX, ParMA, T3, VIDYA, AMA, etc.), generating trading signals from this hybrid oscillator. Four entry modes are available: breakdown mode triggers on MACD crossing the zero line; MACDtwist mode triggers on MACD direction change (declining-to-rising for buys, rising-to-declining for sells); SIGNALtwist mode triggers on signal line direction change; and MACDdisposition mode triggers on MACD/signal line crossover. Exit conditions mirror entries—reverse signals close positions, supplemented by configurable StopLoss and TakeProfit levels. Position sizing is controlled via the MM parameter and MMMode enum, supporting fixed lots or percentage-of-balance sizing. Money management leverages the TradeAlgorithms library, and each buy/sell open/close action can be independently enabled or disabled.
Strengths
- Offers four flexible trading modes adaptable to different market conditions and trading styles
- Employs multiple advanced smoothing algorithms on RSI, reducing lag and noise compared to traditional MACD
- Buy/sell open/close can each be independently enabled, providing high configuration flexibility
- New bar check mechanism prevents duplicate trades within the same candle
- Stop loss and take profit parameters are provided, giving basic risk control
Weaknesses
- Fixed-pip stop loss and take profit ignore ATR-based dynamic volatility, which may be unsuitable in low- or high-volatility regimes
- No spread filter; while less critical on H4, switching to lower timeframes could incur losses from excessive spreads
- TradeAlgorithms.mqh is included twice (lines 12 and 105), indicating redundant code
- The RSI+MACD combination remains a momentum indicator prone to frequent false signals in ranging markets
- No position count check or maximum position limit, risking over-exposure in extreme market conditions
Possible improvements
- Add ATR-based dynamic stop loss and take profit that auto-adjusts to market volatility for better adaptability
- Add a spread filter and maximum position count check to strengthen risk control and robustness
Risk assessment
Overall risk: Medium
- No spread filter could cause losses on lower timeframes due to wide spreads
- No maximum position limit could lead to over-exposure from consecutive signals
- Fixed-pip stops may be insufficiently flexible during extreme volatility
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management ratio (lot or percentage) |
MMMode | LOT | Margin mode: free margin/balance/net margin/net balance/fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum slippage tolerance |
BuyPosOpen | true | Allow buy to open |
SellPosOpen | true | Allow sell to open |
BuyPosClose | true | Allow buy-side close (close sell on opposite signal) |
SellPosClose | true | Allow sell-side close (close buy on opposite signal) |
Mode | MACDdisposition | Trading signal mode selection |
InpInd_Timeframe | PERIOD_H4 | Timeframe for indicator calculation |
RSIPeriod | 14 | RSI period |
RSIPrice | PRICE_CLOSE | RSI applied price |
XMA_Method | MODE_T3 | MACDsmoothing method |
Fast_XMA | 12 | Fast MA period |
Slow_XMA | 26 | Slow MA period |
XPhase | 100 | Smoothing phase parameter |
Signal_Method | MODE_JJMA | signal linesmoothing method |
Signal_XMA | 9 | signal line period |
Signal_Phase | 100 | Signal line phase parameter |
AppliedPrice | PRICE_CLOSE_ | Custom applied price type |
SignalBar | 1 | Bar index for signal detection (0=current, 1=completed) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.