EA-1297 · Momentum

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

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsRSI, ColorMETRO
AuthorCopyright © 2012, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Custom indicator approximated
GBPUSD0.00%0.00%0.00%0—————Custom indicator approximated
USDJPY0.00%0.00%0.00%0—————Custom indicator approximated
XAUUSD0.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

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.3

Parameters

ParameterDefaultDescription
MM-0.1Money management ratio per trade
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H4Indicator calculation timeframe
PeriodRSI7RSI indicator period
StepSizeFast5Fast step size
StepSizeSlow15Slow step size
SignalBar1Bar index for entry signal

Similar Momentum EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.