EA-14972 · Momentum

Exp_RVI_Histogram

This EA trades based on the RVI (Relative Vigor Index) Histogram indicator, supporting two signal modes: level-based and crossover-based. It opens buy positions when the RVI histogram signals upward momentum and sell positions on downward momentum, with configurable position closing on opposite signals. Money management is handled via the TradeAlgorithms library with multiple margin modes.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsRVI Histogram
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 core strategy of this EA is based on the RVI (Relative Vigor Index) Histogram indicator, which measures market momentum direction. Entry conditions operate in two modes: in Levels mode, a long position is opened when the histogram color index is 0 (bullish) and a short when it is 2 (bearish); in Cross mode, a long is triggered when the RVI signal line crosses above the trigger line, and a short when it crosses below. Exit conditions rely on opposing signals — long positions are closed on bearish signals and short positions on bullish signals. Position sizing is controlled via the MM parameter with support for multiple margin calculation modes including free margin, balance, loss-adjusted balance, and fixed lot. Stop loss and take profit are fixed at 1000 and 2000 points respectively, with no spread filter or dynamic volatility adaptation. The overall strategy logic is clear but relatively simplistic, lacking dynamic adjustment for market volatility and liquidity conditions.

Strengths

  • Dual signal mode design is flexible, allowing users to choose between level-based or crossover-based signals depending on market conditions
  • Supports multiple money management modes, adapting to different risk preferences and account sizes
  • Configurable stop loss and take profit parameters provide a basic risk control framework
  • Independent control over buy/sell opening and closing offers high flexibility
  • Uses custom indicator handle with clean, modular code architecture

Weaknesses

  • No spread filter, which may cause false signals and losses in high-spread environments
  • Fixed stop loss and take profit in points without dynamic adjustment based on market volatility (e.g., ATR)
  • Depends on external TradeAlgorithms library and custom RVI_Histogram indicator, reducing portability
  • No position count check, potentially allowing duplicate entries in the same direction
  • SignalBar parameter defaults to 1 but allows 0, which may trigger signals on incomplete current bars
  • Lacks drawdown control and maximum loss protection mechanisms

Possible improvements

  • Add spread filter and volatility-adaptive stop loss/take profit (e.g., ATR-based dynamic calculation)
  • Add position count limits and duplicate same-direction entry checks
  • Add maximum drawdown protection and position reduction after consecutive losses

Risk assessment

Overall risk: Medium

  • Fixed stop loss/take profit doesn't account for volatility changes, potentially too tight or too loose in volatile markets
  • No spread filter may result in unfavorable fills during low-liquidity periods
  • SignalBar=0 uses incomplete bars, potentially generating frequent false signals
  • No current position count check may cause duplicate same-direction entries leading to overexposure

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.2

Parameters

ParameterDefaultDescription
MM0.1Money management parameter controlling lot size
MMModeLOTPosition sizing mode (free margin/balance/net free margin/net balance/fixed lot)
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum slippage deviation
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosetrueAllow closing long on reverse signal
SellPosClosetrueAllow closing short on reverse signal
InpInd_TimeframePERIOD_H4Indicator calculation timeframe
TModeCrossSignal mode (level/crossover)
RVIPeriod14RVI indicator period
HighLevel+0.3Overbought level
LowLevel-0.3Oversold level
SignalBar1Bar index for signal detection

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.