Категория
Технические
Уровень
Начальный
Где применяется
Разработка стратегииУправление рискомРабота в MT5

Средний истинный диапазон (ATR)

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

также: ATR, True Range

Обновлено

Простыми словами

Насколько далеко этот рынок обычно проходит за один бар, усреднённо по недавнему прошлому. Индикатор ничего не говорит о направлении — это линейка для расстояний, и почти всё, что советник измеряет в пунктах, лучше измерять в этих единицах.

Почему это важно

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

  • Это практическая форма волатильности. Советнику трудно считать стандартное отклонение доходностей на каждом тике, но он может прочитать ATR из одного хэндла индикатора.
  • Он выражен в ценовых единицах, поэтому напрямую переводится в дистанцию стопа без промежуточного статистического шага.
  • Он делает стратегию сопоставимой между символами и периодами. Два пункта — это широкий стоп на одном инструменте и шум на другом; два ATR означают одно и то же везде.
  • Он учитывает гэпы, чего не делает простой диапазон «максимум минус минимум»: истинный диапазон измеряется и относительно предыдущего закрытия, а не только текущего бара.

В MetaTrader 5

Где это в MT5

  • Вставка → Индикаторы → Осцилляторы → Average True Range — добавляется на график с параметром периода
  • Навигатор → Индикаторы → Average True Range — перетаскивается на график с тем же результатом
  • Индикатор рисуется в отдельном окне, потому что его шкала — это ценовое расстояние, а не цена
  • Тестер стратегий → Входные параметры — период ATR и множитель советника являются инпутами, и оба легко переоптимизировать

Как это используют советники

  • Создавайте хэндл один раз в OnInit — iATR(_Symbol, PERIOD_CURRENT, 14) — и читайте значения через CopyBuffer, а не создавайте хэндлы внутри OnTick.
  • Дистанция стопа = множитель × ATR на входе, чтобы стоп стоял вне обычного движения, а не на круглом числе пунктов.
  • Размер позиции = сумма риска ÷ (дистанция стопа × стоимость пункта), благодаря чему лот автоматически уменьшается при росте волатильности.
  • Дистанция трейлинга — та же идея, применяемая непрерывно: трейл расширяется на быстрых рынках и сужается на спокойных.
  • Читайте ATR с завершённого бара (индекс 1), а не с формирующегося (индекс 0), значение которого меняется с каждым тиком.
  • Не считайте, что iATR — это ATR Уайлдера. Идущий в комплекте с MetaTrader ATR катит фиксированное окно там, где Уайлдер сглаживает. Поэтому они реагируют по разным часам: после утроения волатильности мы измерили 19 баров против 59 до достижения 90% нового уровня.

Типичные настройки

Параметр Обычное значение Примечание
Период 14 Общепринятое значение по умолчанию. Короткие периоды (7–10) реагируют быстрее; длинные (20–30) глаже и подходят дневным системам.
Множитель стопа 1,5–2,5 × ATR Ниже примерно 1,5 стоп оказывается внутри обычного движения для большинства инструментов.
Множитель трейлинга 2–3 × ATR Обычно шире входного стопа, чтобы обычный откат не завершал трендовую сделку.
Множитель цели 2–4 × ATR Держит соотношение риска и прибыли стабильным при изменении условий.
Таймфрейм чтения собственный таймфрейм стратегии ATR на M5 и ATR на D1 описывают разные вопросы; их смешение тихо меняет каждую дистанцию.

Частые эксплуатационные проблемы

  • Создание хэндла индикатора внутри OnTick — это течь хэндлов, которая рано или поздно приводит к отказу: хэндлу место в OnInit.
  • CopyBuffer возвращает меньше значений, чем запрошено, на старте, пока не загружено достаточно истории, что даёт нулевой ATR и, следовательно, стоп с нулевой дистанцией.
  • Чтение ATR с формирующегося бара, из-за чего дистанция стопа зависит от того, в какой момент бара сработал сигнал.
  • Путаница пунктов и пипсов: ATR возвращается в ценовых единицах, и 5-значная котировка означает 0,00120, а не 12 — умножение его как пипсов даёт стопы в сто раз шире или уже нужного.
  • Совместная оптимизация периода ATR и множителя на одном и том же окне, что подгоняет пару под конкретные откаты этого окна.

Связанные функции MT5

iATR(symbol, timeframe, ma_period)
Создаёт хэндл индикатора; вызовите один раз в OnInit и сохраните хэндл.
CopyBuffer(handle, 0, start, count, array)
Читает значения ATR из буфера 0 — единственного буфера этого индикатора.
SymbolInfoDouble(symbol, SYMBOL_POINT)
Переводит ATR из ценовых единиц в пункты, в которых выражаются дистанции стопа.
NormalizeDouble(price, _Digits)
Округляет рассчитанный уровень стопа до точности символа перед отправкой.

Пример

Одно и то же правило риска, применённое в двух режимах волатильности. В советнике не меняется ничего — меняется линейка, которой он мерит.

Спокойный режим — ATR(14)
12 пунктов
Стоп в 2 × ATR составляет 24 пункта.
Волатильный режим — ATR(14)
34 пункта
Тот же стоп в 2 × ATR составляет 68 пунктов.
Риск на сделку
1% от 10 000 $ = 100 $
Размер лота, спокойный / волатильный
0,42 / 0,15
Та же сумма риска, другая дистанция, а значит и другой размер.

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

Расчёт 100 ÷ (24 × 10) = 0.42 · 100 ÷ (68 × 10) = 0.15

Результат Одно правило риска, дающее две дистанции стопа и два размера позиции

Как это используется

ATR — это дистанция, а не сигнал. Он говорит советнику, как далеко ставить, но никогда — стоит ли ставить.

Диапазон Что означает
Текущий ATR намного ниже среднего по бэктесту Цели, заданные в ATR, соответственно сжимаются, так что стратегия берёт меньшие выигрыши, а издержки остаются прежними.
Текущий ATR близок к среднему по бэктесту Условия, в которых настройки калибровались. Опубликованные ожидания применимы.
Текущий ATR заметно выше среднего по бэктесту Стопы в фиксированных пунктах теперь внутри шума; ATR-стопы расширяются, и размер позиции должен снизиться в компенсацию.
ATR используется как сигнал входа Неверное применение. Он не имеет направления: высокое значение говорит, что рынок движется, а не куда.
  • Выражайте каждую дистанцию советника как кратное ATR, а затем оптимизируйте это кратное, а не количество пунктов. Результат переносится между символами и режимами гораздо лучше.
  • Никогда не сравнивайте сырые значения ATR между символами. Сорок пунктов на GBP/JPY и сорок на EUR/USD — это разные уровни активности; при необходимости сравнения делите на цену.
  • Согласуйте период ATR со временем удержания. Скальпер, читающий дневной ATR, рассчитывает размер под движение, в котором он никогда не будет находиться.
  • Проверьте, устойчив ли множитель к соседним значениям. Стоп, работающий на 2,0 × ATR, но не на 1,8 или 2,2, подогнан под окно тестирования.

[Полная страница индикатора ATR](/ru/indicators/atr) подробно разбирает расчёт и настройки. Там же приведено наше измерение: iATR в MetaTrader — это скользящее окно, а не сглаживание Уайлдера. Эта статья — о роли ATR внутри правил риска советника.

Частые ошибки

Считать ATR сигналом направления

Он измеряет пройденное расстояние, а не сторону. Растущий ATR означает, что рынок движется сильнее, а это одинаково случается и в трендах, и в обвалах, и в резких боковиках.

Расширять ATR-стоп, не уменьшая лот

Весь смысл адаптивного стопа в том, что риск на сделку остаётся постоянным. Если дистанция утроилась, а размер не упал, утроился убыток.

Путать ценовые единицы с пипсами

iATR возвращает ценовое расстояние — 0,00120 на 5-значном EUR/USD, а не 12. Код, трактующий его как пипсы, ставит стопы в сто раз дальше или ближе, и ошибку легко пропустить при тестировании, потому что результаты выглядят просто плохими, а не сломанными.

Читать ATR с формирующегося бара

Индекс 0 меняется на каждом тике, поэтому один и тот же сигнал даёт разный стоп в зависимости от момента срабатывания. Для всего, что должно воспроизводиться, используйте последний завершённый бар.

Часто задаваемые вопросы

Какой период ATR должен использовать советник?
Четырнадцать — общепринятое значение по умолчанию и разумная отправная точка. Короткие периоды от семи до десяти быстрее реагируют на смену условий, но шумнее; от двадцати до тридцати глаже и подходят стратегиям на дневных барах. Важнее точного значения то, чтобы оно оставалось устойчивым к соседним настройкам при тестировании.
Как превратить ATR в дистанцию стоп-лосса?
Умножить его. Стоп на 2 × ATR стоит в двух средних диапазонах бара от входа, что для большинства инструментов находится вне обычного движения. Обязательный второй шаг — рассчитать размер лота из этой дистанции и вашего лимита риска, чтобы более широкий стоп означал меньшую позицию, а не больший убыток.
ATR лучше фиксированного стопа в пунктах?
Для советника, работающего без присмотра годами, как правило да, потому что фиксированная дистанция означает разное в разных режимах волатильности, а кратное ATR всегда означает одно и то же. Плата за это — ещё один параметр, который нужно уберечь от переоптимизации.
ATR в MT5 — это тот же ATR Уайлдера?
Не совсем, и это важно, когда вы переносите настройку. Уайлдер сглаживает истинный диапазон, так что каждый прошлый бар продолжает затухать внутри значения; идущий с MetaTrader ATR вместо этого катит фиксированное окно, то есть считает простую скользящую среднюю. Оба — линейные фильтры, веса которых суммируются в единицу, поэтому их долгосрочные уровни совпадают: мы измерили 9,571 против 9,573 пункта на 2 700 барах при периоде 20. Различается отклик: после утроения волатильности на одном баре версия MetaTrader достигла 90% нового уровня за 19 баров, а версия Уайлдера — за 59. Поэтому стоп в 2 × ATR расширяется на MT5 раньше, чем то же правило на платформе, основанной на Уайлдере, и подгонка периода их не объединяет: ближайший к 20 Уайлдера период iATR измерен на уровне 32–33.
Показывает ли ATR направление тренда?
Нет. Это чистая мера расстояния, у неё вовсе нет направленной составляющей. Обычный спутник для силы тренда — ADX, а для направления — скользящая средняя или структура цены.

Похожие статьи