EA-16109 · Momentum

Exp_i-SpectrAnalysis_RVI

This EA trades based on crossover signals from the i-SpectrAnalysis_RVI custom indicator, which applies spectral analysis to the RVI (Relative Vigor Index). It opens buy positions when the RVI main line crosses above the signal line and sell positions on the opposite crossover, with configurable position sizing and stop-loss/take-profit levels.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsRVI, i-SpectrAnalysis_RVI
Author—

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD+1.66%+1.44%3.16%13149.60%————Same as other EAs
GBPUSD-2.33%-2.03%11.34%13249.20%————Same as other EAs
USDJPY+1.03%+0.89%4.35%13446.60%————Same as other EAs
XAUUSD+72.78%+57.12%56.05%13651.50%————Same as other EAs

On every market this backtest is identical to EA-1305. The automatic conversion almost certainly lost what makes this EA different (a custom indicator, a filter or the money management), so these results are not ranked or counted.

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 captures momentum turning points using crossover signals from a spectrally-analyzed RVI indicator. Entry conditions: a buy signal is generated when Line1 (RVI main) crosses above Line2 (RVI signal), and a sell signal on the opposite crossover; however, the EA requires confirmation from the previous bar (Line1[1]>Line2[1]) combined with a pullback (Line1[0]<=Line2[0]) to trigger buys, making this a pullback-entry rather than a breakout-entry system. Exit conditions rely on configurable StopLoss and TakeProfit levels, with optional reverse-signal closes (BuyPosClose/SellPosClose toggles). Position sizing is controlled via the MM parameter, supporting both fixed lot size and margin-based proportional sizing through two modes (LOT and MMMode). Money management leverages standardized functions from the TradeAlgorithms.mqh library for opening and closing positions, including a slippage tolerance setting (Deviation_). The strategy uses SignalBar to control which bar's signal is evaluated, defaulting to 1 (last completed bar), which avoids repainting issues.

Strengths

  • Spectral analysis preprocessing of RVI effectively filters high-frequency noise, yielding cleaner signals
  • Supports multiple position sizing modes and toggle switches for buy/sell open/close, offering high flexibility
  • Uses completed bar signals (SignalBar=1) to avoid repainting issues
  • Implements new bar detection to prevent duplicate entries on the same signal

Weaknesses

  • Fixed StopLoss/TakeProfit in points without ATR-based dynamic adjustment may be unsuitable across varying market conditions
  • No position existence check before opening new orders, risking duplicate same-direction positions
  • Depends on the custom indicator i-SpectrAnalysis_RVI; if the indicator file is missing the EA fails to initialize
  • No spread filter; high-spread environments could make entries excessively costly

Possible improvements

  • Add position existence check before opening new orders to prevent duplicate same-direction entries
  • Replace fixed StopLoss/TakeProfit with ATR-based dynamic calculation to adapt to varying market volatility
  • Add a spread filter to suspend new entries when spread exceeds a configurable threshold

Risk assessment

Overall risk: Medium

  • Lack of position check may cause duplicate same-direction entries, leading to excessive risk exposure
  • Fixed StopLoss/TakeProfit cannot adapt to changing market volatility, potentially unsuitable for both ranging and trending markets
  • No spread filter means slippage costs can be significant during low-liquidity periods

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation4.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
BuyPosOpentrueAllow buy to open
SellPosOpentrueAllow sell to open
BuyPosClosetrueAllow buy position close on reverse signal
SellPosClosetrueAllow sell position close on reverse signal
InpInd_TimeframePERIOD_H4Indicator calculation timeframe
SignalBar1Signal detection bar index position
RVIPeriod14RVI indicator averaging period
N7FFT power parameter (data points=2^N)
SS20Spectral analysis smoothing strength

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.