O indicador técnico ADX Wilder, Average Directional Movement Index 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”.
Cálculo
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), então dm_plus(i) = 0.
Se Mínima(i-1) – Mínima(i) > 0 dm_minus(i) = Mínima(i-1) – Mínima(i), então 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 mínimo 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 dos três números: a, b e c;
ABS(X) —valor do número X em seu módulo absoluto.
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) — Smoothed Moving Average dos valores da série X na barra atual;
Period_ADX — número de períodos utilizados 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)