Iscriviti ora
Indicatori/probuilder · probacktest · proorder · proscreener

OBV

OBV in ProBuilder restituisce l'On-Balance Volume, un totale cumulativo che aggiunge il volume sui bar in salita e lo sottrae sui bar in discesa. Sintassi, formula ed esempi.

Sintassi

probuilder
OBV(price)

Parametri

NomeTipoPredefinitoDescrizione
pricefonte di prezzochiusuraLa serie la cui direzione decide se il volume viene sommato o sottratto. Quasi sempre close, ma qualsiasi array di prezzi è accettato.

Formula

codice
if price > price[1] then OBV = OBV[1] + volume
if price < price[1] then OBV = OBV[1] - volume
if price = price[1] then OBV = OBV[1]

Il risultato è una somma cumulativa, quindi non ha limiti e il suo valore assoluto dipende da dove inizia lo storico caricato.

Come funziona

L'On-Balance Volume tratta il volume di ogni bar come acquisto o come vendita a seconda della direzione in cui si è mosso il prezzo di riferimento. Un bar in salita aggiunge tutto il suo volume al totale, un bar in discesa lo sottrae, un bar invariato lascia il totale inalterato. Nel tempo la linea accumula la direzione netta del flusso di volume.

L'idea è che il volume tenda ad anticipare il prezzo. Quando la linea OBV sale mentre il prezzo si muove lateralmente, l'accumulazione può essere in corso e un breakout al rialzo diventa più plausibile. Quando l'OBV scende mentre il prezzo tiene o sale, la distribuzione può essere in atto dietro le quinte. La conferma, in cui OBV e prezzo fanno nuovi massimi o nuovi minimi insieme, sostiene la continuazione del trend.

Poiché la linea è cumulativa, solo la sua forma porta informazione. Il numero in sé non riflette altro che la somma del volume con segno dal primo bar caricato, quindi due grafici dello stesso strumento con lunghezze di storico diverse mostrano valori OBV differenti con forme identiche.

Esempi

Esempio 1, Momentum dell'OBV su 10 bar (Indicatore)

probuilder
// Compare current OBV with the OBV computed on prices shifted 10 bars back
i1 = OBV(close)
i2 = OBV(close[10])
test = i1 - i2
RETURN test

Calcola l'OBV sul prezzo di chiusura e sulla chiusura spostata di 10 bar indietro, poi restituisce la differenza. Lo spread indica quanto volume netto con segno si è accumulato di recente.

Esempio 2, Ingresso in trend confermato dal volume (ProOrder)

probuilder
// Long only when both price and OBV are above their own averages
obvline = OBV(close)
obvavg = Average[20](obvline)
trend = Average[50](close)

IF NOT OnMarket AND close > trend AND obvline > obvavg THEN
  BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND obvline < obvavg THEN
  SELL AT MARKET
ENDIF

Richiede che la linea OBV si trovi sopra la sua media a 20 bar prima di un ingresso long, ed esce quando il flusso di volume con segno torna sotto quella media.

Esempio 3, Screener di OBV in salita (ProScreener)

probuilder
// Instruments where signed volume has been building for 20 bars
obvline = OBV(close)
rising = obvline > obvline[20]
SCREENER[rising]((obvline - obvline[20]) AS "OBV change 20")

Elenca gli strumenti il cui OBV è superiore a quello di 20 bar fa e li ordina in base all'entità dell'aumento, una semplice scansione di accumulazione.

Interpretazione

PatternLettura
OBV in salita con il prezzoIl volume conferma il trend rialzista.
OBV in calo con il prezzoIl volume conferma il trend ribassista.
Nuovo massimo del prezzo, massimo più basso dell'OBVDivergenza ribassista, il rialzo non ha il supporto dei volumi.
Nuovo minimo del prezzo, minimo più alto dell'OBVDivergenza rialzista, la pressione in vendita si sta esaurendo.
OBV in tendenza mentre il prezzo è piattoPossibile accumulazione o distribuzione prima di una rottura.

L'OBV non fornisce livelli di ipercomprato o ipervenduto. L'analisi si basa su linee di tendenza, medie mobili della stessa linea OBV e divergenze rispetto al prezzo.

Errori e insidie comuni

  • I valori assoluti sono arbitrari. Il totale inizia ad accumularsi dal primo bar caricato, quindi il livello dipende dallo storico del grafico e differisce tra piattaforme e lunghezze di storico. Non confrontare mai valori OBV grezzi tra strumenti diversi e non programmare soglie fisse su di essi.
  • Sono richiesti i dati di volume. Sugli strumenti senza un volume di borsa reale, come molti feed forex spot, l'OBV è costruito da volume tick o stimato e può non significare ciò che i manuali presumono.
  • Assegnazione del volume tutto o nulla. Una bar che chiude in rialzo di un tick contribuisce esattamente lo stesso volume di una bar con corpo pieno e forte. Indicatori come PVT o AccumDistr ponderano invece il volume in base all'ampiezza o alla posizione del movimento.
  • Le chiusure invariate non aggiungono nulla. Quando price è uguale al valore precedente il totale non cambia, quindi su strumenti a basso prezzo o poco liquidi con chiusure spesso identiche la linea può sottostimare l'attività.
  • Volume, il volume grezzo per bar che viene accumulato.
  • PVT, totale progressivo simile ponderato dalla variazione percentuale del prezzo.
  • AccumDistr, linea di accumulazione e distribuzione ponderata dalla posizione della chiusura nel range.
  • ChaikinOsc, oscillatore della linea di accumulazione e distribuzione.
  • MoneyFlow, misuratore della pressione di acquisto e vendita limitato tra -1 e 1.
  • MoneyFlowIndex, RSI ponderato per il volume su una scala da 0 a 100.
  • ForceIndex, variazione di prezzo moltiplicata per il volume per la forza di un singolo bar.
  • WilliamsAccumDistr, formula alternativa di accumulazione e distribuzione.