На основе ATR и каналов стандартного отклонения стратегия следования за трендом
Обзор
Данная стратегия, названная «ATR-трендовая стратегия», представляет собой трендовую торговую систему, которая использует средний истинный диапазон (ATR) для установки стоп-лосса и стандартные отклонения для определения моментов входа в рынок. Стратегия подходит для финансовых инструментов с выраженными трендами, таких как фондовые индексы, валюты и товары.
Принцип стратегии
Стратегия использует индикатор ATR для установки цен стоп-лосса. Индикатор ATR отражает волатильность рынка и позволяет динамически устанавливать расстояние до стоп-лосса. Путем ввода периода ATR и множителя вычисляется значение ATR, которое затем умножается на множитель, чтобы получить расстояние до стоп-лосса. Формула расчета линии ATR-стопа выглядит следующим образом:
Линия ATR = Предыдущая линия ATR ± nLoss (nLoss = nATRMultip * значение ATR)
Если цена закрытия > линия ATR → линия ATR поднимается до (цена закрытия - nLoss)
Если цена закрытия < линия ATR → линия ATR опускается до (цена закрытия + nLoss)
Таким образом, линия ATR динамически подстраивается под колебания цены, реализуя трендовый стоп-лосс.
Помимо стоп-лосса по ATR, стратегия использует канал стандартных отклонений для определения моментов входа. Формула канала:
Средняя линия = Линия ATR стоп-лосса
Верхняя граница = Средняя линия + n * стандартное отклонение
Нижняя граница = Средняя линия - n * стандартное отклонение
Когда цена пробивает среднюю линию снизу вверх — открывается длинная позиция; когда цена пробивает среднюю линию сверху вниз — открывается короткая позиция.
Преимущества стратегии
Основное преимущество данной стратегии заключается в использовании индикатора ATR в качестве инструмента стоп-лосса, который может динамически корректировать расстояние до стоп-лосса в зависимости от рыночной волатильности, реализуя трендовый стоп-лосс и эффективно контролируя риски.
Кроме того, использование канала стандартных отклонений для определения моментов входа позволяет избежать частых открытий позиций из-за незначительных колебаний цены.
Риски и пути их решения
Основной риск стратегии заключается в том, что при слишком большом расстоянии до стоп-лосса теряется способность эффективно контролировать риски, а при слишком малом — стоп-лосс может быть срабатывать из-за рыночного шума. Для решения этой проблемы можно настроить период ATR и множитель ATR, найдя оптимальную комбинацию параметров.
Еще один риск — неправильная настройка параметров канала стандартных отклонений, что приводит к слишком частым или редким открытиям позиций. Путем оптимизации параметров можно найти наилучшие значения.
Направления оптимизации
Стратегию можно оптимизировать по следующим направлениям:
-
Оптимизация периода и множителя ATR. Настройка этих двух параметров позволяет добиться лучшего эффекта стоп-лосса.
-
Оптимизация параметров канала стандартных отклонений. Оптимизация параметров канала для улучшения момента входа в рынок.
-
Добавление дополнительных фильтров. Можно добавить скользящие средние, свечные паттерны и другие индикаторы для подтверждения направления тренда и повышения доходности.
-
Оптимизация логики открытия и закрытия позиций. Можно настроить условие, при котором открытие позиции происходит только после дополнительного подтверждения свечного паттерна при касании цены канала стандартных отклонений.
Заключение
Данная стратегия реализует трендовый стоп-лосс на основе индикатора ATR и использует канал стандартных отклонений для вспомогательного определения моментов входа. Её преимущество — эффективный контроль рисков при остановке убытков, что делает её подходящей для трендовой торговли. Риски и направления оптимизации были чётко проанализированы. Стратегия заслуживает дальнейшего тестирования и оптимизации и обладает практической ценностью для реальной торговли.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
strategy(title="Average True Range Strategy", overlay = true)
nATRPeriod = input(11) //Hur många perioder ATR är på
nATRMultip = input(0.5) //Hur många gånger nuvarande ATR multipliceras med- 1

