Exp_ColorZerolagRVI
This EA trades based on the crossover signals of the ColorZerolagRVI indicator, a zero-lag composite RVI (Relative Vigor Index) oscillator built from five weighted RVI components. It opens buy positions when the main line crosses above the signal line and sell positions on the opposite crossover, with configurable stop-loss and take-profit levels. Trade execution is restricted to new bar formation to avoid redundant signals within the same candle.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
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
This EA uses the ColorZerolagRVI indicator as its core signal source, which synthesizes five RVI components with different periods (8, 21, 34, 55, 89) using specific weights (0.05, 0.10, 0.16, 0.26, 0.43) to eliminate the lag inherent in traditional RVI. Entry conditions require that the current bar's main line (Osc1) and signal line (Osc2) are on the same side while the previous bar showed a crossover — specifically, a buy signal occurs when Osc1[1]>Osc2[1] and Osc1[0]<Osc2[0], indicating the main line just crossed above the signal line. Exit conditions include fixed stop-loss and take-profit (set in points) and closing positions on reverse crossover signals. Position sizing is controlled by the MM parameter, supporting both fixed lot size and margin-based lot calculation modes via the MMMode input. Money management defaults to a 1000-point stop-loss and 2000-point take-profit, yielding a 1:2 risk-reward ratio. Signal calculation is restricted to new bar formation only, preventing redundant trades within the same candle.
Strengths
- Uses a zero-lag composite RVI indicator that reduces the delay problem of traditional RVI, providing more timely signals
- New bar check mechanism prevents redundant trade entries within the same candle, reducing overtrading risk
- Provides independent toggle switches for buy/sell open and close operations, offering high flexibility for directional testing
- Default 1:2 risk-reward ratio is well-designed, favorable for long-term positive expectancy
- Multi-period weighted RVI synthesis (8-89 periods) captures momentum information across short, medium, and long timeframes
Weaknesses
- No check for existing positions in the same direction, potentially leading to repeated entries and increased risk exposure
- Stop-loss and take-profit use fixed point values instead of dynamic indicators like ATR, performing inconsistently across varying volatility environments
- No spread filter mechanism; in high-spread environments, profits may be consumed by spread costs when signals trigger
- Depends on the custom ColorZerolagRVI indicator file; if missing, the EA fails to initialize
- The Recount flag is set to true on CopyBuffer failure without a retry limit, potentially causing frequent retries during data gaps
Possible improvements
- Add same-direction position check to prevent repeated entries, or add a maximum position count parameter
- Change stop-loss and take-profit to ATR-based dynamic calculation to adapt to different market volatility environments
- Add spread filter and trading session filter to avoid trading during high-spread and low-liquidity periods
Risk assessment
Overall risk: Medium
- Lack of same-direction position check may lead to continuous position stacking during trending markets, causing excessive risk exposure
- Fixed-point stop-loss and take-profit do not account for market volatility changes; stop-loss may be too wide in low volatility or too tight in high volatility
- No spread filter or trading session control may result in trade execution under unfavorable conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Margin ratio or lot size |
MMMode | LOT | Lot calculation mode (fixed lot or margin ratio) |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow opening buy positions |
SellPosOpen | true | Allow opening sell positions |
BuyPosClose | true | Allow closing buy positions |
SellPosClose | true | Allow closing sell positions |
InpInd_Timeframe | PERIOD_H4 | Indicator calculation timeframe |
SignalBar | 1 | Bar index for signal detection |
smoothing | 15 | Indicator smoothing period |
Factor1 | 0.05 | Weight factor for RVI component 1 |
RVI_period1 | 8 | Period of RVI component 1 |
Factor2 | 0.10 | Weight factor for RVI component 2 |
RVI_period2 | 21 | Period of RVI component 2 |
Factor3 | 0.16 | Weight factor for RVI component 3 |
RVI_period3 | 34 | Period of RVI component 3 |
Factor4 | 0.26 | Weight factor for RVI component 4 |
RVI_period4 | 55 | Period of RVI component 4 |
Factor5 | 0.43 | Weight factor for RVI component 5 |
RVI_period5 | 89 | Period of RVI component 5 |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.