Активируйте JavaScript для полноценного использования elitetrader.ru Проверьте настройки браузера.
ATR: индикатор, без которого никуда » Элитный трейдер
Элитный трейдер
Искать автора

ATR: индикатор, без которого никуда

9 мая 2017 Trade Like A Pro
Технический индикатор Средний Истинный Диапазон (Average True Range, ATR) — это показатель волатильности рынка. Его ввел Уэллс Уайлдер в книге «Новые концепции технических торговых систем» и с тех пор индикатор применяется как составляющая многих других индикаторов и торговых систем. Это довольно популярный индикатор, включенный в большинство программ для анализа рынков. Его главное назначение — установка правильных уровней Стоп-Лосс. Это самый эффективный метод установки стопов , что доказывает статистика.

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

Характеристики индикатора

Платформа: любая
Валютные пары: Любые
Таймфрейм: любой от Н1 и выше
Время торговли: круглосуточно
Тип индикатора: осциллятор

Расчет

Истинный диапазон (True Range) есть наибольшая из следующих трех величин:

разность между текущими максимумом и минимумом;
разность между предыдущей ценой закрытия и текущим максимумом;
разность между предыдущей ценой закрытия и текущим минимумом.

True Range = Max(High[1]-Low[1]; High[1] — Close[2]; Close[2]-Low[1])


Индикатор Среднего Истинного Диапазона (Average True Range) представляет собой скользящее среднее значений истинного диапазона:

Average True Range = SMA(TR,N), где TR – истинный диапазон, N – период усреднения, SMA – простая скользящая средняя.

ATR: индикатор, без которого никуда


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

Использование ATR как фильтра

ATR можно использовать как фильтр тренда. Для этого нужно нанести на график ATR срединную линию. При ее пробое возникают наиболее существенные движения цены. У индикатора нет и не может быть отрицательных значений и определенной срединной линии тоже. Выбирается она на глаз, для каждого рынка отдельно. Советую в качестве срединной линии накладывать на график ATR скользящую среднюю с большим периодом. Пока ATR ниже своей скользящей средней, движения незначительны и рынок спокоен. При пробое ATR своей средней снизу-вверх начинается тренд. Кроме того, некоторые трейдеры рекомендуют использовать индикатор на нескольких ТФ, например, на H1 и D1. Если их направления согласованы и на меньшем ТФ индикатор пересек свою срединную линию, рынок оживился. Еще раз повторюсь, настраивать ATR и срединную линию нужно под каждый рынок и каждый ТФ отдельно.



Отлично работает ATR14 и MA100 в качестве срединной линии для определения времени торговли по торговым системам, основанным на принципе возврата к среднему. Также очень неплохо показывает себя индикатор Envelopes (240), примененный к значениям индикатора ATR — при нахождении ATR ниже Envelopes, волатильность мала, а после пробоя канала вверх возможны резкие волатильные движения. Также ATR часто используют для определения средней длины свечи. Например, если текущее показание ATR больше, скажем, 20, или, наоборот, меньше 10, вход в сделку пропускается. Тут все вполне логично – если на текущем рынке слишком маленькие свечи, то потенциал для прибыли невелик. Если же свечи слишком большие, то, скорее всего, на рынке происходят какие-то экстремальные события вроде выхода важных экономических новостей. А как мы все знаем, во время выхода новостей рынок довольно нестабилен и дальнейшее направление движения инструмента слабо прогнозируется.

Использование ATR для выхода

ATR часто используют для установки адаптивного стоп лосса, как фиксированного, так и плавающего (трейлинг-стоп). Идея установки стопов на основе волатильности лично мне по душе и я часто использую именно такой вариант для трейлинга. Как правило, для вычисления необходимого размера стоп приказа значение индикатора умножается на определенную константу, которая зависит от теоретической длительности будущей сделки. Для часовых графиков, например, можно взять константу, равную 2-4. То есть, например, для сделки по EURUSD при ATR=0,0062 на часовике мы 6,2 умножаем на константу, например, 3 и наш стоп получается примерно 18 — 19 пунктов.



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

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

extern bool          UseATRFilter = true;
extern int           ATRPer =       14;
extern int           EnvPer =       240;
input ENUM_MA_METHOD EnvMode =      MODE_EMA;
extern double        EnvDev =       10;

bool ATRFilter()
{
   if(!UseATRFilter) return(true);
   double ATR[500];
   for(int i=0;i<=499;i++)
   {
      ATR[i]=iATR(_Symbol,PERIOD_M5,ATRPer,i+1);
   }
   ArraySetAsSeries(ATR,true);
   double ATR1=iATR(_Symbol,PERIOD_M5,ATRPer,1);
   double EnvUp=iEnvelopesOnArray(ATR,0,EnvPer,
                EnvMode,0,EnvDev,MODE_UPPER,0);
   if(ATR1<EnvUp) return(true);
   return(false);
}


Эта функция возвращает false, если текущая волатильность на рынке великовата для торговли, и true, если индикатор ATR находится под каналами Envelopes. Функция действительно значительно улучшает результаты советников, использующих принципы работы в канале (по крайней мере, тех, в которых я пробовал ее применить). Кроме того, думаю, она также пригодится и для торговых систем, для которых, наоборот, низкий уровень волатильности приносит убытки (но я пока в этой роли ее не тестировал).
Заключение

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

http://tradelikeapro.ru/ (C)
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Отправить жалобу