
El índice de acumulación/distribución de Williams (Williams Accumulation/Distribution, abreviado como Williams AD) es un indicador de análisis técnico para juzgar la dinámica de compra y venta en el mercado mediante la monitorización de los cambios en los precios y los cambios en el volumen de transacciones. El indicador se basa en la hipótesis de Williams de que el volumen de transacciones generalmente aumenta en un mercado bajista.
La estrategia analiza los cambios en el valor del indicador de acumulación/distribución de Williams para determinar si la tendencia actual está en la fase de acumulación o en la fase de distribución, lo que genera señales de compra y venta.
El indicador central de esta estrategia es el indicador de acumulación/distribución de Williams AD. La fórmula de cálculo es la siguiente:
If Close > Previous Close
Williams AD = Previous Williams AD + (Close - Low)
If Close < Previous Close
Williams AD = Previous Williams AD + (Close - High)
If Close == Previous Close
Williams AD = Previous Williams AD
De esta manera, si el precio de cierre de hoy es superior al de ayer, el AD de hoy es igual al AD de ayer más el diferencial entre el precio de cierre de hoy y el precio de cierre de hoy. Si el precio de cierre de hoy es inferior al de ayer, el AD de hoy es igual al AD de ayer más el diferencial entre el precio de cierre de hoy y el precio de cierre de hoy.
El indicador refleja las relaciones de poder en el comercio, y las principales reglas de juicio son:
Cuando el precio de la acción es alto en innovación y el indicador AD no es alto en innovación, considere como una señal de distribución, haga un vacío. Cuando el precio de la acción es bajo en innovación y el indicador AD no es bajo, considere como una señal acumulativa, haga más.
De acuerdo con esta regla de juicio, las reglas de generación de señales de negociación específicas de la estrategia son:
También se puede invertir la dirección de vacío mediante la entrada de los parámetros reverse.
La estrategia tiene las siguientes ventajas:
El uso del índice William cumulativo/distribuido para determinar la fuerza de compra y venta en el mercado puede mejorar la probabilidad de éxito de las operaciones.
El método para calcular el índice es simple y fácil de implementar.
Se puede adaptar de forma flexible a diferentes situaciones mediante la inversión de parámetros.
Se puede generar una señal de negociación más precisa mediante la monitorización de los indicadores y la desviación de los precios.
La imagen de la línea K muestra claramente e intuitivamente la tendencia actual del mercado.
La estrategia también tiene los siguientes riesgos:
El indicador de William acumulado/distribuido está retrasado y puede generar una señal errónea.
La señal se produce con demasiada frecuencia, dependiendo solo de un indicador que es susceptible a brechas falsas.
La configuración inadecuada de los parámetros puede conducir a operaciones demasiado frecuentes.
El tiempo de compra y venta debe ser determinado por otros factores.
En la conversión de los búfalos y los osos, los indicadores pueden ser erróneos.
Se puede reducir el riesgo mediante la configuración de parámetros de optimización, la confirmación de varios indicadores en combinación con el filtro adecuado de la cantidad de transacciones.
La estrategia puede ser optimizada en los siguientes aspectos:
Añade parámetros para optimizar, como el establecimiento de un intervalo de negociación, la frecuencia de negociación, etc.
Se filtran en combinación con otros indicadores para evitar señales erróneas, como los indicadores de precio de medida, las medias móviles, etc.
Aumentar las estrategias de stop loss para controlar las pérdidas individuales.
El entrenamiento de parámetros busca la combinación óptima de parámetros.
Optimización de parámetros dinámicos en combinación con algoritmos de aprendizaje automático.
Prueba de la solidez de la estrategia en diferentes entornos de mercado, como variedades y períodos.
Construir un sistema de simulación de operaciones para hacer retroalimentación y evaluar los riesgos y beneficios de la estrategia.
La estrategia de indicadores acumulativos/distribuidos de William determina la dirección de la fuerza del mercado a través de la variación de la fuerza de los indicadores, tiene características como la generación de señales de negociación simples, la configuración flexible de los parámetros. Pero como una sola estrategia de indicadores técnicos, existe una deficiencia inherente que requiere optimización multidimensional y verificación complementaria con otros medios técnicos para obtener ganancias estables en el mercado real.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/01/2018
// Accumulation is a term used to describe a market controlled by buyers;
// whereas distribution is defined by a market controlled by sellers.
// Williams recommends trading this indicator based on divergences:
//
// Distribution of the security is indicated when the security is making
// a new high and the A/D indicator is failing to make a new high. Sell.
//
// Accumulation of the security is indicated when the security is making
// a new low and the A/D indicator is failing to make a new low. Buy.
//
//You can change long to short in the Input Settings
//WARNING:
//- For purpose educate only
//- This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Williams Accumulation/Distribution (Williams AD)", shorttitle="Williams AD")
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
xPrice = close
xWAD = iff(close > nz(close[1], 0), nz(xWAD[1],0) + close - low[1],
iff(close < nz(close[1],0), nz(xWAD[1],0) + close - high[1],0))
pos = iff(xWAD > 0, 1,
iff(xWAD < 0, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xWAD, color=green, title="Williams AD")