Ultimate Oscillator
Oscillateur multi-périodes créé par Larry Williams (1976) pour réduire les faux signaux des oscillateurs mono-période. Combine 3 horizons (court / moyen / long) en une seule valeur pondérée.
Définition
Williams a observé que la plupart des oscillateurs (RSI, %R) donnent trop de faux signaux à cause d'un seul biais temporel. UO combine 7, 14 et 28 barres avec des pondérations descendantes (4/2/1), donnant plus de poids au court terme tout en exigeant un alignement multi-horizon pour produire des extrêmes.
Formule
Pour chaque bar i (à partir du second) :
bp[i] = close[i] − min(low[i], close[i-1]) // "buying pressure"
tr[i] = max(high[i], close[i-1]) − min(low[i], close[i-1]) // "true range"
A_n = Σ bp[-n:] / Σ tr[-n:] // ratio sur n barres
UO = 100 × (4 × A_7 + 2 × A_14 + A_28) / 7
Paramètres dans le code
- Périodes : 7 / 14 / 28
- Poids : 4 / 2 / 1 (somme = 7, divisée à la fin)
- Implémentation :
forex-assistant.tsx:402— fonctionultimateOsc(highs, lows, closes) - Cas dégénéré : retourne 50 si
closes.length < 28. - Garde anti-zéro :
trSafe(n)remplace 0 par 1 si la sommetrest nulle (range parfaitement plat).
Interprétation
| Zone | Lecture |
|---|---|
| > 70 | Surachat sur les trois horizons simultanément |
| 30 – 70 | Zone normale |
| < 30 | Survente sur les trois horizons |
Williams recommandait à l'origine d'attendre une divergence prix/UO en zone extrême avant de prendre position — pas le seuil seul.
Logique de score (forex-assistant.tsx:1451)
> 70 → score = -0.8 (max 0.8) // surachat
< 30 → score = +0.8 (max 0.8) // survente
sinon → score = 0
Pondération moyenne. Comme UO n'est extrême que quand les 3 horizons s'alignent, il "vaut" plus qu'un Stochastic seul, mais on garde un poids modéré (0.8) car il est très lent à signaler.
Pièges
- Lent : la composante 28 barres ralentit considérablement l'indicateur. Sur D1, 28 jours = ~5 semaines de mémoire.
- Buying pressure asymétrique : la définition de
bp(close − min(low, prev_close)) pénalise les gaps baissiers — par construction un gap down baissera UO plus qu'un gap up ne le fera monter. - Faux positif en range : un range serré donne
trfaible, doncbp/trpeut tendre vers 0.5 (50) et y rester très longtemps sans information. - Divergences > niveau absolu : Williams insistait sur les divergences. Un UO à 75 sans divergence n'est pas un signal de vente.
Indicateurs liés
- Stochastic — version mono-période du même concept
- RSI 14 — alternative classique
- Williams %R — du même auteur, plus simple
- TSI — autre tentative de momentum lissé