Как работает индикатор ADX: сила тренда и линии +DI и -DI

Обложка статьи «Как работает индикатор ADX: сила тренда и линии +DI и -DI»: две линии направления расходятся, общая линия силы выходит из слабой зоны

Что показывает индикатор ADX и чего он не показывает

Fidelity описывает ADX как ограниченный осциллятор, значения которого колеблются между 0 и 100. Тот же диапазон подтверждают справка TradingView и обучающие материалы IG. Шкала ограничена сверху, поэтому значение 40 всегда сильнее значения 20, на каком бы инструменте вы его ни увидели.

Роль индикатора в справочниках описана одинаково жёстко. StockCharts пишет, что ADX измеряет «the strength or weakness of a trend, not the actual direction» - силу или слабость тренда, а не само направление. TradingView формулирует ещё короче: «It does not take direction into account at all» - направление он не учитывает вообще.

Короткий список того, что ADX даёт и не даёт:

  1. Даёт оценку силы текущего движения одним числом.
  2. Даёт динамику этой силы: растущая линия означает, что движение набирает ход, падающая - что оно выдыхается.
  3. Даёт общий язык для разных инструментов, потому что шкала везде одна.
  4. Не даёт направления: по одному ADX нельзя понять, растёт цена или падает.
  5. Не даёт точки входа и не ставит стоп.
  6. Не даёт цели по цене и не говорит, сколько движение продлится.
  7. Не даёт предупреждения о развороте: сила может расти и в падении.

0: направленного движения нет

100: движение предельно сильное

  1. 1.ниже 20: тренда нет
  2. 2.выше 25: тренд сильный
  3. 3.выше 50: очень сильный
Границы условны и меняются от инструмента. Справки платформ держат пару 20 и 25, часть источников поднимает границу сильного тренда до 40.

Из-за этой ненаправленности ADX редко ставят на график в одиночку. Если вы только собираете рабочий набор, начните с разбора того, какие индикаторы имеет смысл ставить новичку, а сюда возвращайтесь за силой движения.

Как связаны ADX, +DI и -DI

Уайлдер построил Directional Movement как систему из трёх величин, и по отдельности они неполные. Две линии DI отвечают на вопрос «куда», третья линия отвечает на вопрос «насколько уверенно». Fidelity описывает связку так: линия ADX определяет силу тренда, а две линии DMI дополняют её, помогая определить направление.

ЛинияЧто меряетОткуда берётсяКак читают
+DIсилу движения вверхсглаженное восходящее движение, делённое на истинный диапазонвыше -DI - перевес покупателей
-DIсилу движения внизсглаженное нисходящее движение, делённое на истинный диапазонвыше +DI - перевес продавцов
ADXсилу перевеса любой сторонысглаженный модуль расхождения между +DI и -DIрастёт - движение усиливается

Классическая трактовка пересечений записана у Fidelity в одну строку: сигнал на покупку возникает, когда DMI+ пересекает DMI- снизу вверх, сигнал на продажу - когда наоборот. Дальше начинается спор источников, и он честный. IG пишет, что большинство трейдеров линии DI игнорируют, потому что те «tend to cloud the issue» - только замутняют картину. StockCharts, наоборот, строит работу именно вокруг пересечений DI, добавляя внешнее подтверждение.

Мой вывод из этого спора простой: линии DI полезны как описание расстановки сил, а не как кнопка входа. Одно пересечение ничего не доказывает, если сила движения около нуля.

Как считаются True Range, +DM и -DM

Расчёт начинается с истинного диапазона. True Range - это наибольшая из трёх величин: размах свечи от максимума до минимума, расстояние от максимума до вчерашнего закрытия и расстояние от вчерашнего закрытия до минимума. Та же величина лежит в основе отдельного индикатора, который меряет волатильность, и если она для вас новая, посмотрите разбор того, как истинный диапазон помогает выставить стоп.

Дальше считают направленное движение. Формулировка Уайлдера в открытых источниках записана так:

  1. UpMove - это сегодняшний максимум минус вчерашний максимум.
  2. DownMove - это вчерашний минимум минус сегодняшний минимум.
  3. Если UpMove больше DownMove и больше нуля, то +DM равен UpMove, иначе +DM равен нулю. Для -DM правило зеркальное.

Ключевая тонкость прячется в третьем пункте. За свечу засчитывается только одна сторона: либо восходящее движение, либо нисходящее, но никогда обе сразу. StockCharts описывает краевой случай прямо: когда оба расчёта отрицательны или равны, обе величины обнуляются. Эталонная реализация TA-Lib разбирает семь возможных взаимных положений двух свечей и приходит к тому же правилу.

Внутренняя свеча, которая целиком помещается в диапазон предыдущей, не даёт направленного движения ни в одну сторону. Именно поэтому в узком боковике ADX сползает вниз: числитель обнуляется чаще, чем знаменатель.

Как из направленного движения получают DX и ADX

Сглаживание у Уайлдера своё, и это первая причина расхождений с чужими описаниями. Первое значение равно сумме первых 14 периодов, дальше работает рекуррент: из предыдущего значения вычитают его четырнадцатую часть и прибавляют текущее. Tulip Indicators показывает, что это экспоненциальное среднее с коэффициентом 1/n вместо привычного 2/(n+1), и что сглаживание Уайлдера на периоде 14 равно обычной экспоненциальной средней с периодом 27.

  1. 1

    True Range на каждой свече

    Максимум из трёх диапазонов с учётом вчерашнего закрытия

  2. 2

    Плюс DM и минус DM

    Сравниваются приросты максимума и минимума, слабое обнуляется

  3. 3

    Сглаживание по Уайлдеру

    Первое значение - сумма за 14 баров, дальше рекуррент

  4. 4

    Линии плюс DI и минус DI

    Сглаженное движение делится на сглаженный истинный диапазон

  5. 5

    Индекс DX

    Модуль разности линий делится на их сумму, знак теряется

  6. 6

    Сглаженный DX даёт ADX

    Ещё одно усреднение за 14 периодов поверх готового DX

Шесть шагов расчёта на периоде 14. Первые два считаются на каждой свече, дальше вступает сглаживание Уайлдера.

Формула DX объясняет главную особенность индикатора. DX равен ста, умноженным на модуль разности +DI и -DI, делённый на их сумму. Одинаковую формулу дают StockCharts, справочник TA-Lib и англоязычная Википедия. Модуль стирает знак, и вместе со знаком уходит направление: расхождение линий на 30 пунктов даст один и тот же DX независимо от того, какая линия выше.

Последний шаг - усреднить DX по Уайлдеру. Первое значение ADX равно среднему первых четырнадцати значений DX, дальше каждое следующее значение считают так: предыдущий ADX умножают на 13, прибавляют текущий DX и делят на 14. Второе сглаживание и делает линию плавной, а заодно добавляет ей запаздывания.

Чем ADX отличается от DMI в TradingView и MetaTrader

Справка TradingView отвечает на вопрос прямо: встроенный индикатор ADX сам по себе линии +DI и -DI не рисует, для трёх линий сразу нужен отдельный индикатор Directional Movement. У DMI в разделе входов заданы два параметра: ADX - период сглаживания итоговой линии, DI Length - период расчёта самих DI, у обоих значение по умолчанию 14. У страницы про ADX раздела входов нет вовсе, поэтому официально пара 14 и 14 подтверждена именно для DMI.

В MetaTrader 5 ситуация тоньше. Терминал держит два отдельных встроенных индикатора: Average Directional Movement Index и Average Directional Movement Index Wilder. Второй в описании MetaQuotes построен строго по алгоритму из книги Уайлдера и использует сглаженное скользящее среднее, у первого сглаживание другое. Значения этих двух линий на одном графике не совпадают, хотя имя почти одно.

ПлатформаКак называетсяСколько линийЧто задаётся
TradingView, ADXAverage Directional Indexоднапериод (раздела входов в справке нет)
TradingView, DMIDirectional Movement IndexтриDI Length и ADX Smoothing, по умолчанию 14
MetaTrader 5ADX и отдельно ADX Wilderтри буферапериод, разная математика сглаживания
MetaTrader 4iADXтри буферапериод и applied price
thinkorswimADXоднапериод и тип усреднения на выбор

Отдельная строка в этой таблице - MetaTrader 4: у его функции iADX есть параметр applied price, то есть цена, по которой ведётся расчёт, а у версии для MT5 такого параметра нет. Ещё дальше идёт thinkorswim, где тип усреднения выбирается из пяти вариантов, включая простое, экспоненциальное и сглаживание Уайлдера. Один и тот же ADX на одном инструменте там даёт разные значения при разном выборе.

В Pine Script отдельной функции для ADX нет, всё выдаёт ta.dmi, причём ADX приходит третьим элементом:

pine
[diPlus, diMinus, adx] = ta.dmi(14, 14)
plot(adx, "ADX")

Такая форма вызова видна в опубликованных скриптах TradingView. Присвоить результат одной переменной не получится, компилятор ждёт распаковку тремя.

Что меняют период DI и сглаживание ADX

Разделение параметров многие пропускают, а оно практическое. Уменьшите DI Length - линии направления начнут пересекаться чаще, потому что реагируют на более короткие всплески. Короткое сглаживание ADX сделает итоговую линию дёрганой, и она станет чаще прыгать через пороги. Уайлдер считал на 14, и это значение осталось по умолчанию у TradingView и MetaTrader.

Гораздо важнее другое: сколько истории нужно, чтобы значение вообще стало осмысленным. Первое значение ADX(14) появляется только на 28-м баре, и это следует из устройства расчёта. Четырнадцать баров уходят на первое сглаживание истинного диапазона и направленного движения, поэтому первые DI появляются на пятнадцатом баре. Потом нужны ещё четырнадцать значений DX, чтобы усреднить их в первое значение ADX.

  1. Бар 1

    Считается только истинный диапазон

    Направленное движение сравнивается со вчерашним баром

  2. Бар 15

    Появляются первые +DI и -DI

    До этого нечего сглаживать: нужно 14 готовых значений

  3. Бар 28

    Первое значение ADX

    Ещё 14 значений DX уходят на второе усреднение

  4. Около бара 150

    Значения перестают заметно плыть

    Оценка StockCharts: на меньшей истории цифры отличаются

Расчёт на периоде 14. Первые значения зависят от того, с какого бара терминал начал считать, поэтому на коротком куске истории они плывут.

Дальше работает механизм, о котором справки говорят редко. Рекуррент Уайлдера никогда не забывает старые значения полностью: их вес убывает, но не обнуляется.

Поэтому два терминала с разной глубиной загруженной истории покажут на одном и том же баре немного разные значения ADX. StockCharts оценивает, что для устойчивых цифр нужно порядка 150 периодов данных. Документация TA-Lib называет это начальным неустойчивым периодом и объясняет тем же: ранние значения зависят от того, сколько истории им предшествовало.

Важно. Расхождение значений на одном инструменте между двумя графиками чаще объясняется разной глубиной истории или разным типом сглаживания, а не ошибкой платформы. Сначала сверяйте настройки и длину загруженного куска.

Почему пороги 20 и 25 не дают готового сигнала

Самая распространённая пара границ выглядит так: выше 25 - сильный тренд, ниже 20 - тренда нет, между ними неопределённость. Её приводят StockCharts, Fidelity и TradingView, а IG подтверждает только верхнюю границу: выше 25 тренд считают сильным. Fidelity добавляет полезную деталь: значения выше 60 встречаются нечасто.

Расхождения начинаются сразу за этой парой. StockCharts приписывает порог 25 самому Уайлдеру и тут же пишет, что многие аналитики берут вместо него 20. Англоязычная Википедия даёт другую шкалу: слабый тренд ниже 20, сильный выше 40, исключительно сильный выше 50. Разница вдвое, и выбор шкалы меняет каждое второе решение.

ИсточникНет трендаСильный трендОговорка
StockChartsниже 20выше 25многие берут 20 вместо 25
Fidelityниже 20выше 25выше 60 бывает редко
IGне задаётвыше 25сильные движения бывают и при слабом ADX
TradingViewниже 20выше 25границы зависят от инструмента
Википедияниже 20выше 40выше 50 - исключительно сильный

TradingView объясняет разброс честнее всех: приемлемые значения меняются от инструмента к инструменту, поэтому свой инструмент разумно проверить на его же истории. Там же есть напоминание, что Уайлдер разрабатывал систему под валюты и товары, которые волатильнее акций и трендуют сильнее.

Лучший пример против шкалы приводит IG: на ралли Nasdaq свыше 1400 пунктов ADX большую часть движения держался ниже 25. Формально тренда не было, фактически он был. Вывод IG стоит запомнить дословно: «No indicator is correct at all times» - ни один индикатор не бывает прав всегда.

Где ADX помогает, а где на него лучше не опираться

Подойдёт, если

  • Отсеять боковик перед сетапом, который работает только в движении
  • Сравнить силу движения на разных инструментах: шкала везде одна
  • Увидеть по падающей линии, что движение выдыхается
  • Понять, почему сигнал сработал вхолостую на плоском рынке

Не подойдёт, если

  • Определить направление: за него отвечают только линии +DI и -DI
  • Поймать разворот заранее: индикатор запаздывает по построению
  • Заменить стоп и расчёт размера позиции
  • Работать по одному порогу на всех инструментах без проверки

Как вручную сверить ADX на закрытых свечах

Проверка занимает вечер и снимает половину будущих споров с самим собой. Порядок такой:

  1. Выберите один инструмент и один таймфрейм и зафиксируйте отрезок минимум из 30 закрытых свечей. Незакрытая свеча в расчёт не идёт: её максимум и минимум ещё изменятся.
  2. Выпишите для каждой свечи максимум, минимум и закрытие в таблицу. Соседние свечи должны идти подряд, без пропусков.
  3. Посчитайте истинный диапазон для каждой свечи как наибольшую из трёх величин.
  4. Посчитайте UpMove и DownMove, примените правило выбора и обнулите слабую сторону.
  5. Сложите первые 14 значений истинного диапазона, +DM и -DM, дальше ведите рекуррент Уайлдера.
  6. Разделите сглаженное движение на сглаженный диапазон и умножьте на 100 - получите +DI и -DI.
  7. Посчитайте DX и усредните первые 14 его значений. Это ваше первое значение ADX.

Дальше поставьте на тот же график индикатор DMI с параметрами 14 и 14 и сравните три числа на последней закрытой свече. Расхождение в сотых долях нормально: библиотеки не применяют целочисленное округление, которое было в книге 1978 года, и разная глубина истории тоже сдвигает результат.

  1. Бары 1-6

    Узкий диапазон, ADX держится около 15

    Обе линии DI низкие, ни одна сторона не перевешивает

  2. Бар 7

    Цена уходит вверх, ADX только 18

    Движение уже началось, а сила ещё не набрана

  3. Бар 9

    ADX 22, порог 25 не пройден

    Фильтр по порогу сделку в этот момент не пропустит

  4. Бар 11

    ADX перешагивает 25

    Четыре свечи движения индикатор молчал

  5. Бар 13

    ADX 33, движение подтверждено

    Подтверждение приходит, когда большая часть хода позади

  6. Бар 14

    Цена откатывает, ADX 32

    Линия силы разворачивается позже цены, это нормально

Значения условные, собраны для наглядности, это не котировка и не сигнал. Видно главное: цена уходит вверх на седьмой свече, а линия силы подтверждает движение только на одиннадцатой.

На этой учебной схеме видно то, ради чего вся ручная сверка и затевается. Цена ушла вверх на седьмой свече, а линия перешагнула 25 только на одиннадцатой. Четыре свечи движения индикатор молчал. Так работает двойное сглаживание, поломки тут нет.

Как проверить фильтр ADX без подгонки под историю

Типовая задача звучит так: у меня есть сетап, я хочу пропускать сделки, когда рынок стоит. Порог 25 берут отправной точкой, потому что это самая распространённая граница в справках платформ. Дальше вся честность проверки держится на порядке шагов и на дисциплине.

  1. 1

    Запишите базовое правило без ADX

    Фильтр проверяется как добавка к готовому входу

  2. 2

    Зафиксируйте порог заранее

    Отправная точка 25, по ходу проверки её не меняем

  3. 3

    Разделите историю на две части

    Вторая часть закрыта, пока идёт настройка первой

  4. 4

    Прогоните оба варианта подряд

    Одинаковые комиссии и одинаковое проскальзывание

  5. 5

    Сравните итог и число сделок

    Фильтр почти всегда режет количество входов

  6. 6

    Откройте отложенный кусок один раз

    Второй прогон по нему уже не будет независимым

Шесть шагов, которые не дают подогнать порог под уже увиденный результат. Порядок важнее самих цифр.

Пятый шаг тут главный. Падение общего результата само по себе ничего не доказывает, если вместе с ним втрое сократилось число сделок.

StockCharts предупреждает о главной ловушке этого упражнения прямо: требование по ADX действительно сокращает число сигналов, но этот сильно сглаженный индикатор отсеивает столько же хороших сигналов, сколько плохих. Ровно это и показывает пример IG с Nasdaq. Поэтому решение принимается по обеим цифрам сразу, а не по одной красивой.

Если после проверки фильтр не помог, это нормальный результат. Он говорит, что для вашего правила сила движения не главный ограничитель, и экономит вам месяцы. Другой способ отсеять боковик - смотреть на наклон и расположение цены относительно средней, и как читают скользящую среднюю разобрано отдельно.

Какие ошибки чаще всего искажают чтение ADX

Шесть ситуаций, которые встречаются чаще прочих:

  1. Направление читают по ADX. Линия растёт, и это принимают за рост цены. Она точно так же растёт в сильном падении.
  2. Порог 25 считают универсальным. TradingView прямо предупреждает, что приемлемые значения зависят от инструмента и требуют исторической проверки.
  3. Торгуют по одним пересечениям DI. Уайлдер сам добавил к ним правило точек экстремума: точкой считается бар пересечения линий, а вход происходит только после пробоя его уровня. Правило появилось ради того, чтобы убрать ложные сигналы.
  4. Сравнивают числа с разных платформ. ADX и ADX Wilder в MetaTrader 5 считаются по-разному, а в thinkorswim тип усреднения вообще выбирается вручную.
  5. Читают значение на незакрытой свече. Максимум и минимум ещё изменятся, и вместе с ними изменится всё дерево расчёта.
  6. Смотрят на короткий кусок истории. На тридцати барах числа отличаются от тех, что появятся на полутора сотнях.

Седьмая ошибка скорее методическая: индикатор ADX ставят на график как единственный инструмент. TradingView в разделе ограничений советует комбинировать его с индикаторами, которые смотрят на саму цену и помогают фильтровать сигналы. Если вы подбираете такую связку, посмотрите разбор того, как собрать набор индикаторов под задачу.

Риски и ограничения

  • Индикатор не гарантирует прибыль. Значение выше порога - повод разобрать график, а не приказ на вход.
  • Рынок волатилен, торговля связана с риском потери капитала.
  • Прошлые результаты не гарантируют будущих.
  • ADX запаздывает по устройству: в нём два последовательных сглаживания, поэтому подтверждение приходит через несколько свечей после начала движения.
  • Медленные тренды индикатор пропускает. Пример IG с ралли Nasdaq свыше 1400 пунктов показывает движение, при котором значение большую часть времени оставалось ниже 25.
  • Единого стандарта порогов нет: разные авторитетные источники дают шкалы, отличающиеся вдвое.
  • Значения зависят от платформы, типа сглаживания и глубины загруженной истории, поэтому цифры с двух разных графиков сравнивать некорректно.

Дисклеймер. Не является индивидуальной инвестиционной рекомендацией. Рынок волатилен, торговля связана с риском потери капитала. Прошлые результаты не гарантируют будущих.

Источники

Частые вопросы

Что такое ADX в трейдинге?

ADX - это Average Directional Index, средний индекс направленного движения. Его вместе с линиями +DI и -DI опубликовал Уэллс Уайлдер в книге 1978 года, где впервые появились также RSI, ATR и Parabolic SAR. Величина считается по закрытым свечам, живёт в диапазоне от 0 до 100 и описывает силу движения. Направление в ней не заложено: формула берёт модуль расхождения двух линий и теряет знак.

Как пользоваться ADX, если я только начал?

Начните с одной задачи: отделить рынок, который стоит, от рынка, который идёт. Поставьте на график индикатор DMI с настройками по умолчанию, чтобы видеть сразу три линии, и неделю просто смотрите на закрытые свечи, ничего не торгуя. Отмечайте, где значение держится ниже 20 и что при этом делает цена.

После такой недели пороги перестают быть чужими цифрами из статьи, а индикатор ADX превращается в привычную шкалу.

Какой период ADX ставить по умолчанию?

Оставьте 14. Это значение Уайлдера, и оно стоит по умолчанию у TradingView и MetaTrader, поэтому ваши цифры совпадут с цифрами большинства собеседников. У DMI на TradingView параметров два, DI Length и ADX Smoothing, и оба по умолчанию равны 14. Менять их имеет смысл только после того, как вы прогнали проверку с базовым значением и знаете, чего именно вам не хватает.

Одинаковый ли ADX в TradingView и MetaTrader?

Подтверждённых данных о систематическом расхождении между этими платформами нет. Зато точно известно, что различия бывают внутри одного терминала: MetaTrader 5 держит два отдельных индикатора, обычный и Wilder, с разной математикой сглаживания, а MetaTrader 4 принимает параметр applied price, которого у версии для MT5 нет. Перед сравнением цифр сверьте имя индикатора, параметры и глубину загруженной истории.

Показывает ли ADX разворот тренда?

Нет. Падение линии означает только то, что движение теряет силу, и цена при этом может уйти в боковик, а не развернуться. Разворот - это смена направления, а направление в ADX не заложено вообще. Первым признаком смены сил считают пересечение +DI и -DI, но и оно требует подтверждения: справка TradingView отмечает, что ложные сигналы возникают чаще всего при значениях ниже 25.

Что вы узнаете
  • Разделение силы и направления: что меряет ADX и что меряют линии +DI и -DI
  • Полный порядок расчёта от True Range до сглаженного ADX, шаг за шагом
  • Протокол ручной сверки значений на закрытых свечах, без доверия чужим настройкам
  • Разбор порогов 20 и 25: почему у источников разные шкалы и что с этим делать
Применить за 20 мин
Средний уровень
32просмотров
Материал был полезен?

Обсуждение

Витя

Дочитал до конца, что для меня редкость)

Ruslan

почему ADX растёт, когда цена падает?

Макс

Потому что ADX измеряет силу движения, а не направление: в формуле DX стоит модуль разности +DI и -DI, и знак стирается. Сильное падение для него такой же перевес одной стороны, как и сильный рост. Направление читают по линиям: -DI выше +DI означает перевес продавцов.

Оставить комментарий

Профильный эксперт
Макс Витковский
Аналитик рынка

Разбирает структуру рынка, уровни и торговые сценарии. Специализация — криптовалюты, технический анализ и ончейн-данные.

График TradingView с сигналами Buy и Sell индикатора Midas
Midas multi-индикатор for TradingViewОдин из самых продвинутых индикаторов для трейдинга
  • Сигналы без перерисовки
  • Интерактивный теханализ
  • 7 стратегий на выбор
Midas multi-индикатор for TradingViewСигнал, стоп и 3 цели — прямо на графике
  • Сигнал фиксируется по закрытию свечи
  • Стоп и 3 цели строятся автоматически
  • План сделки виден до входа