Come si calcola l’oscillatore ultimativo?
Risposta diretta
L’oscillatore ultimativo (spesso abbreviato come “UO”) si calcola combinando tre medie smussate di un rapporto di pressione d’acquisto, calcolato a partire da Massimo, Minimo e Chiusura di ogni barra. Le tre medie utilizzano periodi di riferimento diversi (comunemente 7, 14 e 28 periodi) e vengono unite con pesi (tipicamente 4, 2 e 1) per produrre un valore finale compreso tra 0 e 100.
Meccanismo e definizione
1) Partire dalla “pressione d’acquisto” e dal “range vero”
Per ogni barra i, definire:
- Pressione d’acquisto (BP) = Chiusuraᵢ − Minimoᵢ
- Range vero (TR) = max(
- Massimoᵢ − Minimoᵢ,
- |Massimoᵢ − Chiusuraᵢ₋₁|,
- |Minimoᵢ − Chiusuraᵢ₋₁| )
Questi due componenti formano un rapporto di pressione d’acquisto:
- BP/TR
Concettualmente, BP misura quanto fortemente la Chiusura si collochi verso l’alto della barra (rispetto al Minimo), mentre TR misura l’ampiezza del range della barra, inclusi eventuali gap rispetto alla Chiusura precedente. Il rapporto BP/TR esprime la pressione d’acquisto in relazione all’ampiezza del movimento.
2) Smussare il rapporto su tre finestre temporali
Scegliere tre periodi di riferimento:
- a (spesso 7)
- b (spesso 14)
- c (spesso 28)
Calcolare tre somme smussate (su ogni finestra che termina alla barra i):
- Media₁ = somma(BP negli ultimi a periodi) / somma(TR negli ultimi a periodi)
- Media₂ = somma(BP negli ultimi b periodi) / somma(TR negli ultimi b periodi)
- Media₃ = somma(BP negli ultimi c periodi) / somma(TR negli ultimi c periodi)
Questo approccio “somma dei numeratori diviso somma dei denominatori” fa sì che l’UO dipenda dalla pressione accumulata e dal range accumulato in ogni finestra, piuttosto che dal solo BP/TR dell’ultima barra.
3) Combinare le tre medie con pesi e scala da 0 a 100
L’oscillatore ultimativo viene quindi calcolato come combinazione pesata:
- UO = 100 × (4 × Media₁ + 2 × Media₂ + Media₃) / (4 + 2 + 1)
Poiché (4 + 2 + 1) = 7 nello schema di pesi comune, questo si semplifica in:
- UO = 100 × (4 × Media₁ + 2 × Media₂ + Media₃) / 7
Il risultato è generalmente interpretato su una scala da 0 a 100.
Esempio verificabile (senza dati in tempo reale)
Per verificare che tu possa riprodurre il calcolo, utilizza un piccolo dataset ipotetico.
Assunzioni:
- Usa finestre standard a=2, b=3, c=4 (accorciate per mantenere l’esempio compatto).
- Usa tre pesi 4, 2 e 1 (uguali all’approccio usuale).
Supponiamo di avere le barre 1–4 con Massimo, Minimo e Chiusura, e di calcolare TR usando la Chiusura precedente (quindi TR per la barra 1 richiederebbe una barra 0 precedente; per semplicità, inizia dalla barra 2).
Per ogni barra i (a partire da i=2):
- BPᵢ = Chiusuraᵢ − Minimoᵢ
- TRᵢ = max(Massimoᵢ − Minimoᵢ, |Massimoᵢ − Chiusuraᵢ₋₁|, |Minimoᵢ − Chiusuraᵢ₋₁|)
- Quindi accumulare su ogni finestra:
- sommaBP(a) = BP negli ultimi a periodi
- sommaTR(a) = TR negli ultimi a periodi
- Media₁ = sommaBP(a) / sommaTR(a)
- ripetere per b e c.
- Infine:
- UO = 100 × (4×Media₁ + 2×Media₂ + Media₃)/7
Ciò che dovresti osservare ricomputandolo con attenzione:
- Se la Chiusura si colloca ripetutamente vicino ai minimi, BP diventa piccolo, riducendo Media₁/₂/₃ e abbassando l’UO.
- Se le barre sono ampie (TR elevato) ma le chiusure non sono vicine ai massimi, il rapporto può rimanere moderato, impedendo all’UO di salire solo per effetto di un range elevato.
Anche senza mostrare numeri esatti qui, i passaggi del calcolo sono completamente deterministici dati Massimo/Minimo/Chiusura (e almeno una Chiusura precedente per TR).
Limiti e rischi (modi di errore rilevanti)
1) L’allineamento dei dati è fondamentale
L’UO richiede una definizione coerente delle barre. Se la serie Massimo/Minimo/Chiusura è su un timeframe ma applichi i parametri su un altro, i valori calcolati di BP e TR non corrisponderanno alle stesse “barre”, producendo risultati diversi da quelli attesi.
2) È necessario “un numero sufficiente di barre”
Poiché l’UO utilizza tre finestre (a, b, c), non è possibile calcolare un valore completo fino a quando non si hanno almeno c barre (più la Chiusura precedente aggiuntiva necessaria per il primo calcolo di TR). Nei primi valori potrebbero mancare dati o esserci valori parziali in diverse implementazioni.
3) Divisione per zero o TR quasi nullo
Il rapporto Media = somma(BP)/somma(TR) presuppone che somma(TR) sia non nullo. Nei dati di mercato tipici TR raramente è esattamente zero, ma con dataset molto piccoli o sintetici, somma(TR) può essere estremamente piccolo. Ciò può rendere instabile il rapporto.
4) Software diversi possono usare convenzioni leggermente diverse
Alcune piattaforme usano valori predefiniti comuni (a=7, b=14, c=28 e pesi 4/2/1), ma potrebbero implementare:
- gestioni diverse della prima barra (o delle prime barre) quando Chiusuraᵢ₋₁ non è disponibile,
- precisione numerica diversa,
- o interpretazioni diverse del periodo (soprattutto con spaziatura non standard delle barre). Pertanto, una verifica indipendente dovrebbe includere il controllo di come vengono calcolati i primi valori di TR e come vengono trattati i primi valori di UO.
5) L’interpretazione non equivale a un segnale autonomo
L’UO è un oscillatore di tipo momentum derivato da rapporti tra componenti del movimento dei prezzi. Come la maggior parte degli oscillatori, può essere sensibile ai cambiamenti di regime, al clustering della volatilità e alla scelta del timeframe. Va considerato un output di misurazione, non una regola decisionale garantita.
Verifica e prossima domanda
Per verificare autonomamente il calcolo:
- Scegli parametri espliciti (i tuoi valori di a, b, c e i pesi 4,2,1).
- Per ogni barra, calcola BP = Chiusura − Minimo.
- Per ogni barra, calcola TR = max(Massimo−Minimo, |Massimo−ChiusuraPrecedente|, |Minimo−ChiusuraPrecedente|).
- Calcola tre rapporti su finestra usando somma(BP)/somma(TR).
- Combinali in UO usando UO = 100 × (4×Media₁ + 2×Media₂ + Media₃)/7.
Se vuoi, puoi anche confrontare il tuo UO calcolato con quanto mostrato da uno strumento grafico, ma assicurati di allineare timeframe, convenzione di chiusura delle barre e la definizione esatta di TR utilizzata da quello strumento.
Potresti anche voler verificare come l’UO si confronta con altri oscillatori di momentum correlati e come la modifica delle impostazioni (a, b, c) influisce sulla smussatura e sulla reattività su orizzonti più brevi o più lunghi.