ADX Wilder – Average Directional Movement Index Wilder

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”.

ADX Wilder - Average Directional Movement Index Wilder

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)