L'Average Directional Movement Index de Wilder (ADX Wilder) aide à déterminer s'il y a une tendance des prix. Cet indicateur technique est construit de façon strictement conforme à l'algorithme décrit par Welles Wilder dans son livre "New concepts in technical trading systems".
Les règles de trading de cet indicateur sont décrits dans la section "Average Directional Movement Index".
Le premier changement positif (dm_plus) et le premier changement négatif (dm_minus) de chaque barre sont calculés, mais aussi le true range tr :
Si High(i) - High(i-1) > 0 dm_plus(i) = High[(i) - High(i-1), sinon dm_plus(i) = 0.
Si Low(i-1) - Low(i) > 0 dm_minus(i) = Low(i-1) - Low(i), sinon dm_minus(i) = 0.
tr(i) = Max(ABS(High(i) - High(i-1)), ABS(High(i) - Close(i-1)), ABS(Low(i) - Close(i-1)))
Avec :
High(i) – prix le plus élevé de la barre courante ;
Low(i) – prix le plus bas de la barre courante ;
High(i-1) – prix le plus haut de la barre précédente ;
Low(i-1) – prix le plus bas de la barre pécédente ;
Close(i-1) – prix de clôture de la barre précédente ;
Max (a, b, c) – valeur maximum de trois numéros : a, b et c ;
ABS(X) – valeur absolue du nombre X dans son module.
Ensuite, les valeurs lissées sont calculées : Plus_D(i), Minus_D(i) et ATR() :
ATR(i) = SMMA(tr, Période_ADX,i)
Plus_D(i) = SMMA(dm_plus, Période_ADX,i)/ATR(i)*100
Minus_D(i) = SMMA(dm_minus, Période_ADX,i)/ATR(i)*100
Avec :
SMMA(X, N, i) – Moyenne Mobile Lissée par les valeurs de la série X sur la barre courante ;
Period_ADX – nombre de périodes utilisées pour le calcul.
Maintenant, le Directional Movement Index - DX(i) - est calculé :
DX(i) = ABS(Plus_D(i) - Minus_D(i))/(Plus_D(i) + Minus_D(i)) * 10 0
Après les calculs préliminaires, on obtient la valeur de ADX(i) de la barre actuelle en lissant les valeurs de l'indice DX :
ADX(i) = SMMA(DX, Period_ADX, i)