Индекс направленного движения - это индикатор, в основе которого лежит фильтрация по темпам изменения цены.
Он позволяет входить в рынок только при наличии существенных трендов. На первом шаге расчитывается положительное и отрицательное направленное движение - DM (Directional Movement) - +DMj и –DMj. Если Highj > Highj-1, то +DMj = Highj – Highj-1, иначе +DMj = 0. Если Lowj < Lowj-1, то –DMj = Lowj-1 – Lowj, иначе –DMj = 0.
Меньшее из +DMj и –DMj приравнивается к нулю, если они равны, к нулю приравниваются оба. Вычисляется истинный интервал - TRj (True Range) = max(|Lowj – Closej-1|, |Highj – Closej-1|, |Highj – Lowj|).
Вычисляем индикатор положительного направления и индикатор отрицательного направления - + и -DIj (Directional Index): если TRj = 0, то +SDIj = 0, –SDIj = 0; eсли TRj != 0, то +SDIj = +DMj / TRj; –SDIj = –DMj / TRj.
Сглаживая +SDI и -SDI экспоненциальным скользящим средним (EMAve), получаем +DIj и -DIj: +DIj = EMAvej(+SDI, N); -DIj = EMAvej(–SDI, N).
Вычисляем среднее направленное движение - ADXj. Для этого сначала находим направленное движение - DXj = (|+DIj – –DIj| / |+DIj + –DIj|) * 100. Сглаживая DX находим и ADX: ADXj = EMAvej(DX, N).