EA-15640 · Momentum

Exp_ROC2_VG

This EA uses a dual Rate-of-Change (ROC2_VG) custom indicator with two configurable momentum-type calculations (MOM, ROC, ROCP, ROCR, ROCR100) on different periods to generate crossover signals for opening and closing buy/sell positions. It features money management options, stop loss/take profit, signal inversion, and processes signals only on new bars for efficiency.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsROC, MOM, ROC2_VG
Author—

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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 strategy is based on a dual momentum indicator crossover concept, using two ROC-type indicators with different periods (default 8 and 14) to generate signals when the fast momentum line crosses above or below the slow momentum line. Entry conditions: a buy signal is generated when the fast indicator crosses above the slow indicator (golden cross), and a sell signal when it crosses below (death cross), with crossover confirmation requiring the previous bar to show the opposite relationship. Exit conditions include: reverse crossover signal triggers position closure, stop loss (default 1000 points), and take profit (default 2000 points). Position sizing is managed through the MM parameter and MMMode enumeration, supporting multiple modes including fixed lot size, balance percentage, free margin percentage, and others. Money management relies on the TradeAlgorithms.mqh library providing standardized functions with 5 margin calculation modes. The strategy also provides a signal inversion feature (Invert) that swaps buy and sell signals, applicable for counter-trend trading scenarios.

Strengths

  • Supports 5 momentum calculation types (MOM/ROC/ROCP/ROCR/ROCR100) providing high strategy flexibility
  • Has complete stop loss/take profit settings and multiple money management modes for comprehensive risk control
  • Processes signals only on new bars, avoiding repeated trades and tick-level overtrading
  • Provides signal inversion feature to adapt to different market conditions
  • Independent buy/sell open and close switches allow fine-grained position control

Weaknesses

  • Depends on external custom indicator ROC2_VG and library TradeAlgorithms.mqh, cannot run without them
  • Default stop loss of 1000 points and take profit of 2000 points are large and may not suit all instruments on H4
  • No additional filters (trend confirmation, volatility filter), pure momentum crossover prone to frequent false signals in ranging markets
  • Lacks maximum position count limit and daily max loss limit risk controls
  • CopyBuffer reads only 2 data points for crossover detection, which may produce false signals when data is incomplete

Possible improvements

  • Add a trend filter (e.g., higher timeframe MA direction) to avoid frequent entries in ranging markets
  • Add maximum simultaneous position limits and account-level risk controls (max drawdown limit, daily max loss limit)
  • Add additional validation for indicator data integrity to prevent false signals when CopyBuffer returns incomplete data

Risk assessment

Overall risk: Medium

  • Pure momentum crossover strategy prone to frequent false signals in ranging markets leading to consecutive losses
  • Default 1000-point stop loss may be too large for some instruments, causing significant single-trade losses
  • Lacks maximum position count and account risk ceiling controls, leaving risk exposure uncontrolled in extreme markets

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation1.0
Overall2.5

Parameters

ParameterDefaultDescription
MM0.1Money management parameter, lots or ratio
MMModeLOTMargin calculation mode (fixed lots, balance percentage, etc.)
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow buy to open
SellPosOpentrueAllow sell to open
BuyPosClosetrueClose long positions on reverse signal
SellPosClosetrueAllow closing short positions on signal reversal
InvertfalseInvert buy/sell signals
InpInd_TimeframePERIOD_H4trend_arrows indicator timeframe
ROCPeriod18First ROC indicator period
ROCType1MOMFirst ROC indicator type
ROCPeriod214Second ROC indicator period
ROCType2MOMSecond ROC indicator type
SignalBar1Signal bar index (0 for current bar)

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.