WilliamsAccumDistr
WilliamsAccumDistr in ProBuilder gibt die Williams-Accumulation-Distribution-Linie zurück, die Kauf- und Verkaufsdruck misst. Syntax, Formel, Beispiele.
Syntax
WilliamsAccumDistr(price)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
price | Kursquelle | Schlusskurs | Die Serie, die zum Vergleich aufeinanderfolgender Schlusskurse dient. Die übliche Eingabe ist close. |
Es gibt kein Perioden-Argument. Die Linie ist über die gesamte sichtbare Historie kumulativ.
Formel
Für jeden 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 + ADSteigende Schlusskurse addieren einen positiven Betrag (Abstand zum Tief der True Range), fallende Schlusskurse addieren einen negativen Betrag (Abstand zum Hoch der True Range), und unveränderte Schlusskurse addieren nichts.
So funktioniert es
Der Indikator stellt bei jedem Bar eine einfache Frage: Hat der Markt näher am oberen oder am unteren Ende seiner True Range geschlossen, und in welche Richtung hat sich der Schlusskurs bewegt. Wenn der Schlusskurs steigt, wird der Bar als Akkumulation behandelt und der Abstand zwischen dem Schlusskurs und dem Tief der True Range zur laufenden Summe addiert. Wenn der Schlusskurs fällt, wird der Bar als Distribution behandelt und der Abstand zum Hoch der True Range subtrahiert. Die Verwendung der True Range (die den vorherigen Schlusskurs einbezieht) bedeutet, dass Gaps mitgezählt und nicht ignoriert werden.
Das absolute Niveau der Linie ist nicht aussagekräftig, es hängt davon ab, wie viel Historie geladen ist. Entscheidend ist ihre Richtung und vor allem, wie diese Richtung sich zum Kurs verhält. Das unterscheidet sich von AccumDistr, der jede Bar nach Volumen und Lage des Schlusskurses innerhalb der eigenen Range der Bar gewichtet, und von OBV, das das gesamte Bar-Volumen je nach Richtung des Close addiert oder subtrahiert. WilliamsAccumDistr verwendet überhaupt kein Volumen, nur Kursgeometrie.
Beispiele
Beispiel 1, Zähler für bullischen und bärischen Druck (Indikator)
// 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, bearishDas Quellbeispiel, mit umgeschriebenen Kommentaren. Es wandelt das Vorzeichen der Linie in zwei einfache Zähler um, die andere Logik speisen können.
Beispiel 2, Divergenzprüfung gegen den Kurs (Indikator)
// 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"Markiert bars, bei denen die 20-bar-Richtung der Akkumulationslinie nicht mit der 20-bar-Richtung des Kurses übereinstimmt, die Standard-Divergenzverwendung dieses Indikators.
Beispiel 3, Ausstiegsfilter, wenn die Akkumulation stockt (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
ENDIFVerlangt, dass die Akkumulationslinie höher liegt als vor zehn bars, bevor long eingestiegen wird, und steigt aus, wenn diese Bedingung umschlägt, wobei die Linie als Druckmesser rund um einen Trendfilter dient.
Interpretation
Eine steigende Linie zeigt an, dass steigende Schlusskurse durchgehend mehr von der True Range beanspruchen als fallende Schlusskurse, netto Kaufdruck. Eine fallende Linie zeigt das Gegenteil an.
Das wichtigste Signal ist die Divergenz. Wenn der Kurs ein tieferes Tief bildet, die Linie aber ein höheres Tief, baut sich unter der Oberfläche Kaufdruck auf, eine bullische Divergenz. Wenn der Kurs ein höheres Hoch bildet, die Linie aber ein tieferes Hoch, fehlt dem Anstieg der Druck dahinter, eine bärische Divergenz. Divergenzen beschreiben Bedingungen und kein Timing, daher werden sie üblicherweise mit einem Auslöser kombiniert, etwa einer Kreuzung eines gleitenden Durchschnitts oder einem Breakout aus einer Spanne.
Häufige Fehler und Stolperfallen
- Ein Perioden-Argument hinzufügen.
WilliamsAccumDistr[14](close)ist ungültig. Der Befehl nimmt nur einen Kurs in runden Klammern und kumuliert über alle geladenen Bars. - Niveaus über Charts hinweg vergleichen. Der absolute Wert hängt von der Menge der geladenen Historie ab, daher sagt ein Wert von 500 auf einem Chart und 5000 auf einem anderen nichts Vergleichbares aus. Vergleichen Sie Steigungen und Divergenzen, nicht Niveaus.
- Volumenempfindlichkeit erwarten. Trotz des Namens verwendet dieser Indikator kein Volumen. Verwenden Sie für volumengewichtete Akkumulation
AccumDistr,OBV, oderChaikinOsc. - Die Verwechslung mit
Williams.Williamsist der %R-Range-Oszillator, ein anderer Indikator desselben Autors. Die beiden haben nichts außer dem Namen gemeinsam.
Verwandte Befehle
AccumDistr, volumengewichtete Accumulation-Distribution-Linie.OBV, On-Balance Volume, kumuliertes vorzeichenbehaftetes Volumen.MoneyFlow, begrenztes Maß für Kauf- und Verkaufsdruck.MoneyFlowIndex, volumengewichteter Oszillator im RSI-Stil.ChaikinOsc, Oszillator, aufgebaut auf der Accumulation-Distribution-Linie.PVT, Price Volume Trend, Volumen skaliert nach prozentualer Veränderung.ForceIndex, Kursveränderung multipliziert mit dem Volumen.Williams, der %R-Oszillator desselben Autors.