Average Directional Movement Index Wilder (ADX Wilder) ajuda a determinar se há uma tendência de preços. Este indicador técnico é construído com uma rígida correspondência com o algoritmo descrito por Welles Wilder em seu livro "New concepts in technical trading systems".
As regras de negociação deste indicador são descritas na seção "Average Directional Movement Index".
Primeiro são calculadas as mudanças no positivo (dm_plus) e no negativo (dm_minus) de cada barra, bem como o intervalo tr:
Se Máxima(i) - Máxima(i-1) > 0 dm_plus(i) = Máxima[(i) - Máxima(i-1), caso contrário dm_plus(i) = 0.
Se Mínima(i-1) - Mínima(i) > 0 dm_minus(i) = Mínima(i-1) - Mínima(i), caso contrário dm_minus(i) = 0.
tr(i) = Max(ABS(Máxima(i) - Máxima(i-1)), ABS(Máxima(i) - Fechamento(i-1)), ABS(Mínima(i) - Fechamento(i-1)))
Onde:
Máxima(i) – preço máximo da barra atual;
Mínima(i) – preço minimo da barra atual;
Máxima(i-1) – preço máximo da barra anterior;
Mínima(i-1) – preço mínimo da barra anterior;
Fechamento(i-1) – preço de fechamento da barra anterior;
Max (a, b , c) – valor máximo de três números: a, b и c;
ABS(X) – valor absoluto, segundo o módulo, do número X.
Depois disso, os valores são suavizados: Plus_D(i), Minus_D(i) e ATR():
ATR(i) = SMMA(tr, Period_ADX,i)
Plus_D(i) = SMMA(dm_plus, Period_ADX,i)/ATR(i)*100
Minus_D(i) = SMMA(dm_minus, Period_ADX,i)/ATR(i)*100
Onde:
SMMA(X, N, i) – média móvel suavizada segundo os valores da série X na barra atual;
Perod_ADX – número de períodos usados para o cálculo.
Agora, o Directional Movement Index - DX(i) - é calculado:
DX(i) = ABS(Plus_D(i) - Minus_D(i))/(Plus_D(i) + Minus_D(i)) * 100
Após os cálculos preliminares, obtemos o valor do indicador ADX(i) na barra atual suavizando os valores do indicador DX:
ADX(i) = SMMA(DX, Period_ADX, i)