RVI (Relative Volatility Index)
RVI (Relative Volatility Index)
The Relative Volatility Index measures which direction carries more volatile price movement — not which direction price is heading. By comparing the standard deviation of upward candles against the standard deviation of downward candles, RVI produces a 0–100 oscillator that reveals whether buyers or sellers are producing wilder swings. This makes it structurally different from momentum oscillators like RSI, which track average price change magnitude rather than variance.
How RVI Is Calculated
For each candle, the price change is classified as a gain or a loss. Over the selected period, two standard deviations are computed separately — one for gains, one for losses — then smoothed using Wilder's exponential method:
RVI = 100 × SmoothedStdDev(gains) / (SmoothedStdDev(gains) + SmoothedStdDev(losses))
A reading above 50 means upward price swings have higher variance than downward ones. Below 50 means the opposite. The indicator does not predict direction — it confirms which side of the market is generating more explosive movement.
Using RVI in StratBase.ai
Adding the indicator:
- Open any chart on StratBase.ai (works across all 1,700+ crypto pairs, 27 forex pairs, and 130 stocks)
- Click Indicators in the top toolbar
- Search
RVI— it appears under the Volatility category - Click Add — the indicator loads in a separate panel with a fixed 0–100 scale
- To adjust the period, click the gear icon next to the indicator label and enter your value
Available parameter:
| Parameter | Default | Practical range | |-----------|---------|-----------------| | Period | 10 | 5–30 |
Period guide:
5–8— Scalping on 5m/15m charts; fast signals, higher noise10— Default; suits 1H–4H swing setups14–20— Daily charts and position trades; fewer but cleaner signals
RVI recalculates bar-by-bar during backtests with no lookahead. All 239 indicators on the platform, including RVI, use the same Rust-based engine that processes historical data sequentially.
Step-by-Step Backtest Setup
- Select ETH/USDT on the 4H timeframe
- Add RVI with period
10 - Add RSI with period
14as a secondary filter - In the Strategy Builder, set entry condition:
RVI crosses above 50ANDRSI > 50 - Set exit condition:
RVI crosses below 50 - Set stop-loss at
1.5×ATRbelow entry - Run backtest — review the Signals tab to inspect every triggered entry against RVI values
Worked Example — ETH/USDT 4H
| Candle | Price | RVI | RSI | Action | |--------|-------|-----|-----|--------| | 1 | $3,210 | 46 | 44 | No signal | | 2 | $3,255 | 51 | 52 | Entry long — both cross above 50 | | 3 | $3,310 | 61 | 63 | Hold — volatility expanding upward | | 4 | $3,370 | 64 | 67 | Hold | | 5 | $3,395 | 58 | 69 | Divergence — price higher, RVI lower | | 6 | $3,340 | 47 | 46 | Exit — RVI crosses below 50 |
Entry at $3,255, exit at $3,340 — gain of $85 per unit. The early warning came from candle 5, where RVI declined while price set a new high, signaling that upward volatility was already fading before the reversal occurred.
Practical Tips
- RVI near 45–55 in ranging markets means volatility is balanced between buyers and sellers — avoid directional trades until a clear break occurs
- Dual-period approach: Add RVI at period
10and period20simultaneously. When both sit above 50, directional conviction is stronger than when only the fast line confirms - Extreme readings above 75 or below 25 indicate volatility expansion that often compresses soon after — these are not reversal signals by themselves, but tighten stops when you see them
- Do not substitute RVI for RSI — they answer different questions. RSI measures where price has moved; RVI measures how aggressively it moved in each direction
- Backtest period selection before going live — a period of
10that performs well on 4H charts may generate excessive noise on 15M; use StratBase.ai's optimization tools to test multiple values in one run

