Exp_ColorMETRO
This EA trades based on crossover signals from the ColorMETRO custom indicator, which uses RSI with fast and slow step sizes to generate momentum signals. It opens buy positions when the RSI fast line crosses above the slow line and sell positions on the opposite crossover, with configurable permissions for entry and exit. Position sizing uses a money management parameter that can operate as either a deposit percentage or fixed lot size.
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 | — | — | — | — | — | Custom indicator approximated |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
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 strategy concept is based on momentum crossover from the ColorMETRO indicator, which internally uses an RSI period of 7 combined with a fast step of 5 and a slow step of 15 to identify changes in trend direction. Entry conditions: a buy signal is generated when the MPlus line crosses above the MMinus line (MPlus[1]>MMinus[1] and MPlus[0]<=MMinus[0]), and a sell signal on the opposite crossover. Exit conditions: a buy signal simultaneously triggers closing of short positions, and a sell signal triggers closing of long positions, with additional fixed stop loss at 1000 points and take profit at 2000 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, pyramiding, or trailing stop mechanisms, relying solely on fixed SL/TP and signal-reversal exits. The strategy uses the H4 timeframe and SignalBar=1 (previous bar) to reduce noise, functioning as a medium-to-long-term momentum following system.
Strengths
- Uses larger timeframes like H4 with SignalBar=1 to effectively filter market noise and reduce false signals
- Provides independent toggle switches for buy/sell entry and exit, offering flexible directional control
- The MM parameter design is flexible, supporting both fixed lot sizes and deposit-percentage-based position sizing
- Implements new bar detection to prevent repeated entries within the same bar
- Includes slippage control and history data loading mechanisms for improved trade execution reliability
Weaknesses
- Completely depends on the custom ColorMETRO indicator; if the indicator file is missing the EA cannot run
- Fixed stop loss of 1000 points and take profit of 2000 points are not dynamically adjusted based on market volatility (ATR)
- Lacks a trailing stop mechanism, potentially failing to lock in sufficient profits during trending markets
- No position check logic exists, potentially opening duplicate positions in the same direction
- Does not account for spread and trading costs' impact on signal profitability
- OnInit returns 0 instead of INIT_SUCCEEDED, which does not follow MQL5 best practices
Possible improvements
- Add ATR-based dynamic stop loss and take profit calculation to adaptively adjust risk parameters based on market volatility
- Add position check logic to prevent duplicate entries in the same direction, and consider implementing a trailing stop feature
- Add a spread filter condition to pause trading when the spread is excessively wide, protecting capital
Risk assessment
Overall risk: Medium
- Lacks position checking, potentially opening duplicate positions in the same direction leading to overleveraging
- Fixed SL/TP does not account for market volatility changes; SL may be too large in low-volatility periods and TP too small in high-volatility periods
- Depends on an external custom indicator file; if loading fails only a warning is printed without preventing the EA from continuing to run
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Money management ratio per trade |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow opening long positions |
SellPosOpen | true | Allow opening short positions |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H4 | Indicator calculation timeframe |
PeriodRSI | 7 | RSI indicator period |
StepSizeFast | 5 | Fast step size |
StepSizeSlow | 15 | Slow step size |
SignalBar | 1 | Bar index for entry signal |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.