Word nu lid
Indicatoren/probuilder · probacktest · proorder · proscreener

WilliamsAccumDistr

WilliamsAccumDistr in ProBuilder geeft de Williams Accumulation Distribution-lijn, die koop- en verkoopdruk meet. Syntaxis, formule, voorbeelden.

Syntaxis

probuilder
WilliamsAccumDistr(price)

Parameters

NaamTypeStandaardBeschrijving
priceprijsbroncloseDe 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:

code
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 + AD

Stijgende 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)

probuilder
// 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, bearish

Het 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)

probuilder
// 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)

probuilder
// 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
ENDIF

Vereist 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, of ChaikinOsc.
  • Verwarring met Williams. Williams is de %R-rangeoscillator, een andere indicator van dezelfde auteur. De twee hebben niets gemeen behalve de naam.
  • 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.