rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | Индикатор ATR (Average True Range) и бесплатные роботы на нём

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

Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.

Индикатор ATR (Average True Range) и бесплатные роботы на нём

Оглавление.

1.      История появления индикатора ATR.

2.      Как проводятся расчеты индикатора.

3.      Какие сигналы может подавать индикатор.

4.      Роботы для OsEngine на индикаторе ATR.

4.1.       Стратегия c использованием индикаторов Price Channel и ATR.

4.2.       Контртренд на экстремальном объёме и высоком ATR, Ema.

4.3.       Стратегия пробоя канала из двух VWMA и ATR.

5.      Общая таблица результатов тестирования.

 

1. История появления индикатора ATR.

Индикатор ATR (Average True Range) был разработан Уэллсом Уайлдером в 1978 году. Он был создан для оценки волатильности рынка и измерения силы текущего тренда.

Перед разработкой ATR Уайлдер использовал другой индикатор, называемый True Range (TR), чтобы измерить волатильность рынка. TR был создан для измерения диапазона между максимальной и минимальной ценой за определенный период. Однако Уайлдер обнаружил, что TR не всегда дает точные данные о волатильности, так как он не учитывает влияние различий между ценами закрытия предыдущего и текущего периодов.

Исходя из этого недостатка, Уайлдер разработал индикатор ATR, который учитывает этот фактор. ATR вычисляется как среднее значение TR на протяжении определенного числа периодов. ATR может использоваться для определения волатильности рынка, уровня стоп-лосса и ожидаемой величины движения цены.

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

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

 

2. Как проводятся расчеты индикатора.

Для расчета индикатора ATR (Average True Range) следует выполнить следующие шаги:

1. Вычислите истинный диапазон (true range) для каждого периода. Истинный диапазон — это наибольшая из следующих величин:

  • Разность между текущими максимумом и минимумом (High — Low).
  • Разность между предыдущей ценой закрытия и текущим максимумом (|High- Previous Close|).
  • Разность между предыдущей ценой закрытия и текущим минимумом (|Low — Previous Close|).

2. Рассчитайте средний истинный диапазон за определенное количество периодов. Если вы используете период в 14 свечей, например, сложите значение истинных диапазонов за последние 14 свечей и разделите на 14.

3. Значение ATR является числовым показателем волатильности. Оно может быть представлено в виде линии на графике цены или таблице значений ATR и рассчитывается по формуле.

ATR = (ATRn-1 * (Length-1) + TR) / Length, где 
TR – истинный диапазон, 
ATRn-1 – предыдущее значение индикатора ATR,
Length – длина индикатора ATR.

Существует также возможность настройки других параметров для вычисления ATR, таких как 7-дневный или 21-дневный период. Выбор периода зависит от трейдера и временного горизонта сделки.

Расчёт индикатора в OsEngine можно посмотреть вот в этом файле:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/ATR.cs

 

3. Какие сигналы может подавать индикатор.

Индикатор ATR (Average True Range) предоставляет различные сигналы и информацию о волатильности рынка, которые могут быть полезны трейдерам и инвесторам. Ниже представлены некоторые сигналы, которые может подавать индикатор ATR:

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

2. Определение уровней стоп-лосса и трейлинг-стопа: ATR может помочь трейдерам определить оптимальные уровни стоп-приказов для своих сделок. С повышением волатильности желательно увеличивать и ширину стоп-приказов, чтобы учесть большие колебания цены и предотвратить преждевременный выход из позиции. При низкой волатильности следует уменьшить ширину стоп-приказов, чтобы ограничить потенциальные убытки.

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

4. Сигналы для входа в рынок: ATR может использоваться вместе с другими индикаторами или стратегиями для определения точек входа в рынок. Например, трейдеры могут искать сигналы на вход, когда ATR показывает увеличение волатильности после периода низкой волатильности, и при этом происходит пробой важного уровня или выход из боковика, что может указывать на начало сильного тренда.

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

 

4. Роботы для OsEngine на индикаторе ATR.

4.1. Стратегия c использованием индикаторов Price Channel и ATR.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/PriceChannelATR.cs

Ссылка на Price Channel:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/PriceChannel.cs

Логика входа:

  • Покупаем, когда свеча закрылась выше верхней линии Price Channel.
  • Продаем, когда свеча закрылась ниже нижней линии Price Channel.

Выход:

  • Из покупки, когда свеча закрылась ниже нижней линии Price Channel минус значение мультипликатора Atr, умноженное на предпоследнее значение индикатора Atr.
  • Из продажи, когда свеча закрылась выше верхней линии Price Channel плюс значение мультипликатора Atr умноженное на предпоследнее значение индикатора Atr.


Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 1. Пример логики.

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 2. Si, TF15 min, 2021-23, P/L 1 contract: 0,77%

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 3. BR, TF15 min, 2021-23, P/L 1 contract: 0,74%

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 4. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 2,06%

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 5. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,06%

 

4.2. Контртренд на экстремальном объёме и высоком ATR, Ema.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/CountertrendEmaATR.cs

Ссылка на Ema:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Ema.cs

Ссылка на Volume:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Volume.cs 

Для начала создаем два параметра: минимальное значение объема и среднее Atr. Первый будет отвечать за минимальный порог, который должен пересечь объем для входа, а второй отвечает за какой период искать среднее значение ATR. 

Логика входа:

Покупаем, когда:

  1. Объем выше минимального значения для объема.
  2. Свеча падающая.
  3. Цена ниже Ema.
  4. Значение Atr выше среднего значения за определенный период в N раз.

Продаем, когда:

  1. Объем выше минимального значения для объема.
  2. Свеча растущая.
  3. Цена выше Ema.
  4. Значение Atr выше среднего значения за определенный период в N раз.

Выход:

  • Из покупки: устанавливаем трейлинг-стоп на минимум за указанный для трейлинг-стопа период и переносим на новым минимум цены, также за указанный период.
  • Из продажи: устанавливаем трейлинг-стоп на максимум за указанный для трейлинг-стопа период и переносим на новым максимум цены, также за указанный период.


Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 6. Пример логики входа и выхода робота.

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 7. Si, TF15 min, 2021-23, P/L 1 contract: 0,16%

Индикатор ATR (Average True Range) и бесплатные роботы на нём

Рис. 8. BR, TF15 min, 2021-23, P/L 1 contract: 0,20%

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 9. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,41%

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 10. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,30%

 

4.3. Стратегия пробоя канала из двух VWMA и ATR.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakChannelVwmaATR.cs

Ссылка на Vwma:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/VWMA.cs

Канал состоит из двух Vwma одинаковой длинны. Одна Vwma строится по максимальным ценам свечей, а другая по минимальным ценам свечей.

Логика входа:

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

Выход:

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


Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 11. Пример логики.

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 12. Si, TF15 min, 2021-23, P/L 1 contract: 0,47%

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 13. Br, TF15 min, 2021-23, P/L 1 contract: 0,31%

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 14. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 2,37%

Индикатор ATR (Average True Range) и бесплатные роботы на нём
Рис. 15. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,26%

 

5. Общая таблица результатов тестирования.

Индикатор ATR (Average True Range) и бесплатные роботы на нём

Рис. 16. Таблица результатов.

Лучшие результаты у нас показала стратегия, основанная на Price Channel и ATR.

Ссылки на роботов на GitHub:

  1. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/PriceChannelATR.cs
  2. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/CountertrendEmaATR.cs
  3. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakChannelVwmaATR.cs

 

Что почитать по алготрейдингу?

1) Сборник статей по парному арбитражу: https://smart-lab.ru/company/os_engine/blog/948250.php

2) Сборник статей по валютному арбитражу: https://smart-lab.ru/company/os_engine/blog/965051.php

3) Сборник статей по индексному арбитражу: https://smart-lab.ru/company/os_engine/blog/997533.php

4) Сборник статей про индикаторы и роботы к ним: https://smart-lab.ru/company/os_engine/blog/966919.php

5) Как стать программистом и изменить свою жизнь: https://smart-lab.ru/company/os_engine/blog/982134.php 

OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support

 

Комментарии открыты только для друзей, добавляйтесь!

★8

UPDONW
Новый дизайн