WilliamsAccumDistr
WilliamsAccumDistr dans ProBuilder renvoie la ligne Williams Accumulation Distribution, qui mesure la pression acheteuse et vendeuse. Syntaxe, formule, exemples.
Syntaxe
WilliamsAccumDistr(price)Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
price | source de prix | close | La série utilisée pour comparer les clôtures consécutives. L'entrée conventionnelle est close. |
Il n'y a pas d'argument de période. La ligne est cumulative sur tout l'historique visible.
Formule
Pour chaque 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 + ADLes clôtures en hausse ajoutent un montant positif (distance par rapport au bas du true range), les clôtures en baisse ajoutent un montant négatif (distance par rapport au haut du true range), et les clôtures inchangées n'ajoutent rien.
Comment ça marche
L'indicateur pose une question simple à chaque bar : le marché a-t-il clôturé plus près du haut ou du bas de son true range, et dans quelle direction la clôture a-t-elle évolué. Lorsque la clôture monte, la bar est traitée comme de l'accumulation et la distance entre la clôture et le bas du true range est ajoutée au total cumulé. Lorsque la clôture baisse, la bar est traitée comme de la distribution et la distance par rapport au haut du true range est soustraite. L'utilisation du true range (qui intègre la clôture précédente) signifie que les gaps sont comptés plutôt qu'ignorés.
Le niveau absolu de la ligne n'a pas de signification, il dépend de la quantité d'historique chargée. Ce qui compte, c'est sa direction et, surtout, la comparaison de cette direction avec le prix. Cela diffère de AccumDistr, qui pondère chaque bar par le volume et la position de la clôture dans l'amplitude de la bar elle-même, et de OBV, qui ajoute ou retranche la totalité du volume du bar selon la direction de la clôture. WilliamsAccumDistr n'utilise aucun volume, seulement la géométrie des prix.
Exemples
Exemple 1, compteurs de pression haussière et baissière (Indicateur)
// 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'exemple source, avec des commentaires réécrits. Il convertit le signe de la ligne en deux compteurs simples pouvant alimenter d'autres logiques.
Exemple 2, vérification de divergence avec le prix (Indicateur)
// 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"Signale les bars où la direction sur 20 bars de la ligne d'accumulation diverge de la direction sur 20 bars du prix, l'usage standard de cet indicateur pour la divergence.
Exemple 3, filtre de sortie quand l'accumulation s'essouffle (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
ENDIFExige que la ligne d'accumulation soit plus haute qu'il y a dix bars avant d'entrer long, et sort lorsque cette condition s'inverse, en utilisant la ligne comme indicateur de pression autour d'un filtre de tendance.
Interprétation
Une ligne ascendante indique que les clôtures en hausse s'approprient systématiquement une plus grande part du true range que les clôtures en baisse, soit une pression acheteuse nette. Une ligne descendante indique l'inverse.
Le signal principal est la divergence. Lorsque le prix fait un plus bas plus bas mais que la ligne fait un plus bas plus haut, une pression acheteuse se construit sous la surface, c'est une divergence haussière. Lorsque le prix fait un plus haut plus haut mais que la ligne fait un plus haut plus bas, la hausse manque de pression derrière elle, c'est une divergence baissière. Les divergences décrivent des conditions plutôt qu'un timing, elles sont donc généralement associées à un déclencheur tel qu'un croisement de moyenne mobile ou un breakout de range.
Erreurs et pièges courants
- Ajouter un argument de période.
WilliamsAccumDistr[14](close)est invalide. L'instruction n'accepte qu'un prix entre parenthèses et cumule sur l'ensemble des bars chargées. - Comparer les niveaux entre graphiques. La valeur absolue dépend de la quantité d'historique chargée, si bien qu'une lecture de 500 sur un graphique et de 5000 sur un autre n'a rien de comparable. Comparez les pentes et les divergences, pas les niveaux.
- S'attendre à une sensibilité au volume. Malgré son nom, cet indicateur n'utilise aucun volume. Pour une accumulation pondérée par le volume, utilisez
AccumDistr,OBV, ouChaikinOsc. - Le confondre avec
Williams.Williamsest l'oscillateur de range %R, un indicateur différent du même auteur. Les deux n'ont en commun que le nom.
Instructions liées
AccumDistr, ligne d'accumulation distribution pondérée par le volume.OBV, on-balance volume, volume signé cumulé.MoneyFlow, mesure bornée de la pression acheteuse et vendeuse.MoneyFlowIndex, oscillateur de type RSI pondéré par le volume.ChaikinOsc, oscillateur construit sur la ligne d'accumulation distribution.PVT, price volume trend, volume pondéré par la variation en pourcentage.ForceIndex, variation de prix multipliée par le volume.Williams, l'oscillateur %R du même auteur.