WilliamsAccumDistr
WilliamsAccumDistr in ProBuilder restituisce la linea Williams Accumulation Distribution, che misura la pressione di acquisto e di vendita. Sintassi, formula, esempi.
Sintassi
WilliamsAccumDistr(price)Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
price | fonte di prezzo | chiusura | La serie usata per confrontare chiusure consecutive. L'input convenzionale è close. |
Non esiste un argomento di periodo. La linea è cumulativa su tutto lo storico visibile.
Formula
Per ogni bar:
TRH = MAX(close[1], high) // true range high
TRL = MIN(close[1], low) // true range low
IF close > close[1] THEN AD = close - TRL
IF close < close[1] THEN AD = close - TRH
IF close = close[1] THEN AD = 0
WilliamsAccumDistr = previous WilliamsAccumDistr + ADLe chiusure in rialzo aggiungono un importo positivo (distanza dal minimo del true range), le chiusure in ribasso aggiungono un importo negativo (distanza dal massimo del true range) e le chiusure invariate non aggiungono nulla.
Come funziona
L'indicatore pone una domanda semplice su ogni bar: il mercato ha chiuso più vicino alla parte superiore o a quella inferiore del suo true range, e in quale direzione si è mossa la chiusura. Quando la chiusura sale, la bar è trattata come accumulazione e la distanza tra la chiusura e il minimo del true range viene aggiunta al totale corrente. Quando la chiusura scende, la bar è trattata come distribuzione e la distanza dal massimo del true range viene sottratta. Usare il true range (che incorpora la chiusura precedente) significa che i gap vengono conteggiati invece di essere ignorati.
Il livello assoluto della linea non è significativo, dipende da quanto storico è caricato. Ciò che conta è la sua direzione e, soprattutto, come questa direzione si confronta con il prezzo. Questo differisce da AccumDistr, che pondera ogni bar per il volume e per la posizione della chiusura all'interno del range della bar stessa, e da OBV, che somma o sottrae l'intero volume della bar in base alla direzione della chiusura. WilliamsAccumDistr non usa alcun volume, solo la geometria dei prezzi.
Esempi
Esempio 1, Contatori di pressione rialzista e ribassista (Indicatore)
// Track whether the accumulation line is above or below zero
i1 = WilliamsAccumDistr(close)
bullish = 0
bearish = 0
IF(i1 > 0) THEN
// Net accumulation since the start of the data
bullish = bullish + 1
bearish = bearish - 1
ELSIF(i1 < 0) THEN
// Net distribution since the start of the data
bullish = bullish - 1
bearish = bearish + 1
ENDIF
RETURN bullish, bearishL'esempio originale, con i commenti riscritti. Converte il segno della linea in due semplici contatori che possono alimentare altra logica.
Esempio 2, Verifica della divergenza rispetto al prezzo (Indicatore)
// Compare 20-bar direction of price and the accumulation line
wad = WilliamsAccumDistr(close)
priceUp = close > close[20]
wadUp = wad > wad[20]
IF priceUp AND NOT wadUp THEN
signal = -1 // price rising while accumulation falls, bearish divergence
ELSIF wadUp AND NOT priceUp THEN
signal = 1 // accumulation rising while price falls, bullish divergence
ELSE
signal = 0
ENDIF
RETURN signal AS "WAD divergence"Segnala le bar in cui la direzione a 20 bar della linea di accumulazione è in contrasto con la direzione a 20 bar del prezzo, l'uso standard di questo indicatore per le divergenze.
Esempio 3, Filtro di uscita quando l'accumulazione si arresta (ProOrder)
// Close longs when the accumulation line stops rising
wad = WilliamsAccumDistr(close)
trend = Average[50](close)
IF NOT LongOnMarket THEN
IF close > trend AND wad > wad[10] THEN
BUY 1 CONTRACT AT MARKET
ENDIF
ELSE
IF wad < wad[10] THEN
SELL AT MARKET
ENDIF
ENDIFRichiede che la linea di accumulazione sia più alta di dieci bar prima per entrare long, ed esce quando quella condizione si inverte, usando la linea come misuratore di pressione attorno a un filtro di trend.
Interpretazione
Una linea in salita indica che le chiusure in rialzo si aggiudicano costantemente una porzione maggiore del true range rispetto alle chiusure in ribasso, pressione netta di acquisto. Una linea in discesa indica il contrario.
Il segnale principale è la divergenza. Quando il prezzo registra un minimo più basso ma la linea registra un minimo più alto, la pressione di acquisto si sta accumulando sotto la superficie, una divergenza rialzista. Quando il prezzo registra un massimo più alto ma la linea registra un massimo più basso, all'avanzamento manca la pressione alle spalle, una divergenza ribassista. Le divergenze descrivono condizioni piuttosto che tempistiche, quindi vengono solitamente abbinate a un trigger come l'incrocio di una media mobile o un breakout di range.
Errori e insidie comuni
- Aggiungere un argomento di periodo.
WilliamsAccumDistr[14](close)non è valido. L'istruzione accetta solo un prezzo tra parentesi tonde e accumula su tutte le bar caricate. - Confrontare i livelli tra grafici diversi. Il valore assoluto dipende dalla quantità di storico caricata, quindi una lettura di 500 su un grafico e di 5000 su un altro non dice nulla di confrontabile. Confronta le pendenze e le divergenze, non i livelli.
- Aspettarsi sensibilità al volume. Nonostante il nome, questo indicatore non usa il volume. Per l'accumulazione ponderata sul volume usa
AccumDistr,OBV, oChaikinOsc. - Confonderlo con
Williams.Williamsè l'oscillatore di range %R, un indicatore diverso dello stesso autore. I due non hanno nulla in comune oltre al nome.
Istruzioni correlate
AccumDistr, linea di accumulazione distribuzione ponderata per il volume.OBV, on-balance volume, volume cumulato con segno.MoneyFlow, misura limitata della pressione di acquisto e di vendita.MoneyFlowIndex, oscillatore in stile RSI ponderato per il volume.ChaikinOsc, oscillatore costruito sulla linea di accumulazione distribuzione.PVT, price volume trend, volume scalato per la variazione percentuale.ForceIndex, variazione di prezzo moltiplicata per il volume.Williams, l'oscillatore %R dello stesso autore.