EA-16222 · Momentum

Exp_RVIDiff

This EA trades based on the RVIDiff custom indicator, which applies additional smoothing (T3 by default) to the Relative Vigor Index. It opens buy positions when the RVI value rises above its prior value during a downtrend in the RVI, and opens sell positions when the RVI falls below its prior value during an uptrend, with configurable stop-loss and take-profit levels.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskHigh
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, H6, D1
IndicatorsRVIDiff, RVI, T3
Author—

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD+1.74%+1.51%4.07%14456.60%0.390.434+$1.45Reliable
GBPUSD-8.85%-7.74%11.46%14448.30%-1.42-0.775−$6.02Reliable
USDJPY+2.11%+1.83%5.38%14451.00%0.400.397+$1.37Reliable
XAUUSD-93.59%-89.66%98.86%12647.60%-0.55-0.957−$74.27Account stopped out

Profitable on 2 of 4 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 72% of 68 · GBPUSD: better than 12% of 66 · USDJPY: better than 76% of 68 · XAUUSD: better than 21% of 75

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD46%+3.19% 2026-03-2.60% 2026-01
GBPUSD46%+2.36% 2026-09-3.77% 2026-01
USDJPY62%+3.57% 2026-08-2.78% 2026-01
XAUUSD31%+38.52% 2026-01-66.52% 2026-07

From the backtest equity curve, sampled about every two days; only reliable results.

Blow-up risk: High

  • Hit a stop-out in our backtest (equity below 10%) on XAUUSD

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 reversal signals from the RVIDiff indicator, which smooths the standard RVI with an additional averaging method (T3 by default). Entry conditions: a buy signal is triggered when RVI[1] < RVI[2] (downtrend) and RVI[0] >= RVI[1] (momentum turning upward); a sell signal is triggered when RVI[1] > RVI[2] (uptrend) and RVI[0] <= RVI[1] (momentum turning downward). Exit conditions include a fixed 1000-point stop-loss, 2000-point take-profit, and closing positions on opposing signals. Position sizing is controlled by the MM parameter with multiple margin modes including balance-based, free margin-based, and fixed lot sizing. Money management leverages the TradeAlgorithms.mqh library for standardized position calculation. The strategy operates on H6 timeframe by default, using SignalBar=1 to reference the previous bar's values, avoiding look-ahead bias.

Strengths

  • Uses SignalBar=1 to avoid look-ahead bias, making backtesting results more reliable
  • Offers multiple smoothing algorithms (10 methods), providing high strategy flexibility
  • Includes complete stop-loss, take-profit mechanism and slippage control
  • Buy/sell open and close switches are independently configurable, offering granular control
  • Leverages standardized TradeAlgorithms library for position sizing, ensuring good code reuse

Weaknesses

  • Lacks spread filtering, which may cause unnecessary losing entries during high-spread periods
  • No position check logic, potentially opening duplicate positions in the same direction
  • Fixed 1000-point SL and 2000-point TP do not adapt to market volatility changes
  • Depends on iCustom calling external RVIDiff indicator; EA fails if the indicator file is missing
  • No time filter or trading session control, may trade during low-liquidity periods

Possible improvements

  • Add a spread filter to pause trading when spread exceeds a threshold, avoiding unfavorable entries
  • Add position check logic to prevent duplicate same-direction entries that increase leverage exposure
  • Introduce ATR-based dynamic stop-loss and take-profit that automatically adjusts to market volatility

Risk assessment

Overall risk: Medium

  • No spread filter; widened spreads during high-volatility periods may cause unfavorable entries
  • No position check; duplicate entries may cause risk exposure to exceed expectations
  • Fixed SL/TP does not account for market volatility; SL too wide in low volatility, TP insufficient in high volatility

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness3.0
Innovation3.0
Documentation1.0
Overall2.5

Parameters

ParameterDefaultDescription
MM0.1Capital allocation ratio per trade
MMModeLOTMargin mode: free margin/balance/drawdown free margin/drawdown balance/fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage in points
BuyPosOpentrueAllow buy positions
SellPosOpentrueAllow sell positions
BuyPosClosetrueAllow buy position close on reverse signal
SellPosClosetrueAllow sell position close on reverse signal
InpInd_TimeframePERIOD_H6Indicator calculation timeframe
RVIPeriod12RVI indicator averaging period
XMA_MethodMODE_T3Extra smoothing method
XLength13Extra smoothing period
XPhase15Smoothing phase (-100~+100 for JJMA, different for VIDYA/AMA)
SignalBar1Signal detection bar index position

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.