On this page
Relative Vigor Index — Momentum, in its own panel below the chart.
What Relative Vigor Index measures
The numerator of each bar is close minus open and the denominator is high minus low. Both are passed through a symmetric four-bar weighting of 1, 2, 2 and 1 divided by 6 before being summed over the period. That weighting is neither a simple nor an exponential average: it places the most weight at the centre of the four bars, which filters noise while shifting the phase by little more than a bar and a half. The reasoning behind the ratio is that a market with conviction closes near the extreme it opened towards, and dividing by the range strips out the instrument's scale. The signal line reuses the very same four-bar weighting on RVI, following Ehlers' convention rather than a plain four-period average. If the summed smoothed range over the window is zero, which happens on frozen sessions or filler bars, the bar returns no value rather than zero.
The formula, as implemented
This is not how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
RVI — Relative Vigor Index (John Ehlers / StockCharts). Mesure si la barre FERME dans le sens où elle s'est OUVERTE, rapporté à son amplitude : num = close − open ; den = high − low SW4(x)[i] = ( x[i] + 2·x[i−1] + 2·x[i−2] + x[i−3] ) / 6 ← « lissé sur 4 barres » RVI = Σ_N SW4(num) / Σ_N SW4(den) signal = SW4(RVI) Le lissage est un WMA SYMÉTRIQUE 1-2-2-1 (pas une SMA, pas une EMA, pas du Wilder) : poids maximum au CENTRE de la fenêtre, ce qui filtre le bruit sans décaler la phase de plus d'une barre et demie. POURQUOI ce ratio : un marché vigoureux ferme près de son extrême dans le sens de l'ouverture ; diviser par le range rend la mesure sans échelle, donc comparable d'un instrument à l'autre. `period` (défaut 10, la valeur StockCharts) agrège ensuite numérateur et dénominateur DÉJÀ lissés — mettre period = 1 rend exactement la forme minimale « SW4(num)/SW4(den) ». Le signal réutilise le MÊME SW4 (convention d'Ehlers, pas une SMA 4). Σ SW4(den) NULLE (les 4 barres de la fenêtre sans range — séance figée, barres de remplissage) → null, JAMAIS 0 : sans amplitude, « fermer dans le sens de l'ouverture » n'a pas de sens. Warm-up : 3 barres pour le SW4, plus N − 1 pour l'agrégation ; le signal en coûte 3 de plus. Sorties : [RVI, signal].
How to read it
- A positive RVI means closes above opens dominated the window, weighted against how wide those bars were; a negative one means the opposite.
- A crossing of RVI and its signal marks the point where the recent ratio moved away from its own four-bar weighted average. The two lines are close by construction, so crossings are common.
- Values hovering around zero describe bars that closed near their opens, which is a different condition from bars that were simply small.
- The distance from zero is bounded by how much of each bar's range the open-to-close move actually took, so a wide bar closing mid-range contributes very little.
- Because the smoothing is centred, the line responds within roughly two bars of a change. That is fast for a filtered series, and it is not advance warning.
Parameters and defaults
The period defaults to 10, the StockCharts value, accepts 1 to 200, and aggregates a numerator and a denominator that have already been smoothed. Setting the period to 1 reduces the indicator to its bare form, the four-bar weighted numerator over the four-bar weighted denominator. The warm-up is 3 bars for the weighting plus the period minus one for the aggregation, and the signal line costs 3 bars more.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Period | number | 10 | 1 – 200 |
What it does not show
RVI depends on the open of every bar, so the way bars are built dominates the reading: on tick, volume or range bars the open is simply where the previous bar ended, which makes close minus open a very different quantity from what it is on time bars at a session start. A bar that closes near its high on thin liquidity and one that closes there against heavy resting offers produce the same ratio, because the formula never asks what traded at those prices. In choppy conditions the two lines cross repeatedly with no directional content, and a stretch of bars with no range removes the line entirely rather than flattening it.
Related indicators
- Stochastic — Momentum
- Stoch RSI — Momentum
- CCI — Momentum
- ROC — Momentum
- Williams %R — Momentum
- Momentum — Momentum
This page in other languages
Frequently asked questions
- What does the Relative Vigor Index measure?
- It measures whether bars close in the direction they opened, scaled by their own range. The numerator is close minus open and the denominator is high minus low, both smoothed and summed over the period, so the output describes how much of the available range the open-to-close move captured.
- Why does RVI use a 1-2-2-1 weighting?
- That symmetric four-bar weighting concentrates weight in the middle of the window, which filters noise while delaying the result by only about a bar and a half. A simple moving average would weight all four bars equally and shift the phase further; an exponential average would weight the most recent bar most and keep a long tail behind it.
- What is the RVI signal line?
- The signal line is the RVI series passed through the same 1-2-2-1 four-bar weighting used on the numerator and denominator, which is Ehlers' convention rather than a four-period simple average. It costs three additional bars of warm-up beyond the RVI line itself.