WilliamsAccumDistr
WilliamsAccumDistr in ProBuilder geeft de Williams Accumulation Distribution-lijn, die koop- en verkoopdruk meet. Syntaxis, formule, voorbeelden.
Syntaxis
WilliamsAccumDistr(price)Parameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
price | prijsbron | close | De reeks die wordt gebruikt om opeenvolgende closes te vergelijken. De gebruikelijke invoer is close. |
Er is geen periode-argument. De lijn is cumulatief over de volledige zichtbare historie.
Formule
Voor elke 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 + ADStijgende closes voegen een positief bedrag toe (afstand tot de low van de true range), dalende closes voegen een negatief bedrag toe (afstand tot de high van de true range), en onveranderde closes voegen niets toe.
Hoe het werkt
De indicator stelt op elke bar een eenvoudige vraag: sloot de markt dichter bij de bovenkant of de onderkant van zijn true range, en in welke richting bewoog de close. Wanneer de close stijgt, wordt de bar als accumulatie behandeld en wordt de afstand tussen de close en de low van de true range bij het lopende totaal opgeteld. Wanneer de close daalt, wordt de bar als distributie behandeld en wordt de afstand tot de high van de true range afgetrokken. Door de true range te gebruiken (die de vorige close meeneemt) worden gaps meegeteld in plaats van genegeerd.
Het absolute niveau van de lijn is niet zinvol, het hangt af van hoeveel historie is geladen. Wat telt is de richting en vooral hoe die richting zich verhoudt tot de prijs. Dit wijkt af van AccumDistr, die elke bar weegt op volume en op de positie van de close binnen de eigen range van de bar, en van OBV, dat het volledige barvolume optelt of aftrekt op basis van de richting van de close. WilliamsAccumDistr gebruikt helemaal geen volume, alleen prijsgeometrie.
Voorbeelden
Voorbeeld 1, Tellers voor bullish en bearish druk (Indicator)
// 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, bearishHet bronvoorbeeld, met herschreven commentaar. Het zet het teken van de lijn om in twee eenvoudige tellers die andere logica kunnen voeden.
Voorbeeld 2, Divergentiecontrole tegen de koers (Indicator)
// 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"Markeert bars waar de richting van de accumulatielijn over 20 bars niet overeenkomt met de richting van de koers over 20 bars, het standaard divergentiegebruik van deze indicator.
Voorbeeld 3, Uitstapfilter wanneer de accumulatie stilvalt (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
ENDIFVereist dat de accumulatielijn hoger staat dan tien bars eerder voordat long wordt ingestapt, en stapt uit wanneer die voorwaarde omslaat, waarbij de lijn als drukmeter rond een trendfilter dient.
Interpretatie
Een stijgende lijn geeft aan dat stijgende closes consistent meer van de true range opeisen dan dalende closes, netto koopdruk. Een dalende lijn geeft het omgekeerde aan.
Het belangrijkste signaal is divergentie. Wanneer de koers een lagere low zet maar de lijn een hogere low, bouwt koopdruk zich onder de oppervlakte op, een bullish divergentie. Wanneer de koers een hogere high zet maar de lijn een lagere high, mist de stijging druk erachter, een bearish divergentie. Divergenties beschrijven omstandigheden in plaats van timing, dus ze worden meestal gecombineerd met een trigger zoals een kruising van een voortschrijdend gemiddelde of een range breakout.
Veelvoorkomende fouten en valkuilen
- Een periode-argument toevoegen.
WilliamsAccumDistr[14](close)is ongeldig. De instructie neemt alleen een koers tussen ronde haken en accumuleert over alle geladen bars. - Niveaus vergelijken tussen grafieken. De absolute waarde hangt af van de hoeveelheid geladen historie, dus een waarde van 500 op de ene grafiek en 5000 op de andere zegt niets vergelijkbaars. Vergelijk hellingen en divergenties, niet niveaus.
- Volumegevoeligheid verwachten. Ondanks de naam gebruikt deze indicator geen volume. Gebruik voor volumegewogen accumulatie
AccumDistr,OBV, ofChaikinOsc. - Verwarring met
Williams.Williamsis de %R-rangeoscillator, een andere indicator van dezelfde auteur. De twee hebben niets gemeen behalve de naam.
Gerelateerde instructies
AccumDistr, volumegewogen accumulation distribution-lijn.OBV, on-balance volume, cumulatief volume met teken.MoneyFlow, begrensde maat voor koop- en verkoopdruk.MoneyFlowIndex, volumegewogen oscillator in RSI-stijl.ChaikinOsc, oscillator gebouwd op de accumulation distribution-lijn.PVT, price volume trend, volume geschaald naar procentuele verandering.ForceIndex, prijsverandering vermenigvuldigd met volume.Williams, de %R-oscillator van dezelfde auteur.