RVGI 10 — Relative Vigor Index
Mesure la vigueur d'un mouvement en comparant l'amplitude close − open au range high − low, sur une fenêtre lissée. Conçu par John Ehlers (2002).
Définition
L'idée d'Ehlers : dans une tendance haussière, le close est typiquement au-dessus de l'open ; dans une baissière, en-dessous. Le rapport (close-open) / (high-low) mesure cette "vigueur" intra-bougie. RVGI lisse ce rapport sur 4 barres pondérées (1, 2, 2, 1) puis sur 10 barres en SMA.
Formule
Pour chaque barre i ≥ 3 :
num[i] = ((close[i] − open[i])
+ 2(close[i-1] − open[i-1])
+ 2(close[i-2] − open[i-2])
+ (close[i-3] − open[i-3])) / 6
den[i] = ((high[i] − low[i])
+ 2(high[i-1] − low[i-1])
+ 2(high[i-2] − low[i-2])
+ (high[i-3] − low[i-3])) / 6
RVGI[i] = SMA(num, 10)[i] / SMA(den, 10)[i]
Signal[i] = (RVGI[i] + 2·RVGI[i-1] + 2·RVGI[i-2] + RVGI[i-3]) / 6
Paramètres dans le code
- Période principale : 10 (SMA finale)
- Lissage interne : pondération (1, 2, 2, 1) sur 4 barres
- Signal line : pondération Ehlers (1, 2, 2, 1) / 6 sur 4 dernières valeurs RVGI
- Implémentation :
forex-assistant.tsx:1153— fonctionrvgi(opens, highs, lows, closes, period) - Sortie :
{ rvgi, signal } - Cas dégénéré : retourne
{0, 0}si moins deperiod + 7barres.
Interprétation
RVGI est borné approximativement [-1, +1] :
| Configuration | Lecture |
|---|---|
| RVGI > Signal et > 0 | Cross haussier confirmé |
| RVGI < Signal et < 0 | Cross baissier confirmé |
| RVGI > 0 mais < Signal | Vigueur haussière qui faiblit |
| Mixte | Indécis |
Le cross RVGI/Signal est le vrai signal — pas la valeur absolue.
Logique de score (forex-assistant.tsx:1506)
RVGI > Signal ET > 0 → score = +0.8 (max 0.8)
RVGI < Signal ET < 0 → score = -0.8 (max 0.8)
sinon → score = 0
Logique stricte : il faut que RVGI soit du bon côté du signal et du bon côté de zéro. Approche conservative.
Pièges
- Sensible aux gaps :
close − openest très différent en cas de gap matinal. Sur forex 24h, peu d'impact ; sur actions, énorme. - Fiable surtout en tendance : en range, RVGI oscille autour de zéro et les cross sont du bruit.
- Coût mémoire : O(n) pour
numetden, O(n²) si on incluait l'historique pour calculer la signal line correcte.
Indicateurs liés
- Stochastic — autre lecteur de position close/range
- Williams %R — proche philosophie
- Awesome Osc. — autre indicateur "midpoint based"
- Klinger Oscillator — RVGI pondéré par volume