Стратегия торговли адаптивными скользящими средними ATR

Автор:Чао Чжан, Дата: 2023-11-02 16:51:14
Тэги:

img

Обзор

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

Логика стратегии

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

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

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

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

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

Анализ преимуществ

Основными преимуществами этой стратегии являются:

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

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

  3. Установка фиксированного стоп-лосса и получения прибыли для ограничения потерь на одну сделку и блокировки прибыли, обеспечивая соотношение риск/прибыль.

  4. Тенденция, следующая за торговым стилем, может удерживать тенденции и увеличивать потенциал прибыли.

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

  6. Может быть применен в любом продукте, чтобы следовать тенденциям.

Анализ рисков

Основными рисками этой стратегии являются:

  1. Возможность ложных сигналов от скользящих средних ATR. Цены могут сильно колебаться и вызывать ошибки в сигналах скользящих средних ATR.

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

  3. Фиксированная прибыль может выйти слишком рано, не в состоянии поймать полные тенденции.

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

  5. Невозможность своевременного выхода, когда тенденция меняется, может привести к потерям от обратного тренда.

  6. Параметры должны быть оптимизированы для различных продуктов и рынков, иначе это может повлиять на эффективность стратегии.

Руководство по оптимизации

Стратегия может быть оптимизирована в следующих аспектах:

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

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

  3. Добавьте правила для определения обратной тенденции, комбинируя другие показатели, чтобы избежать ловушки обратной тенденции.

  4. Испытать и оптимизировать параметры для различных продуктов и рыночных условий, чтобы найти оптимальные параметры.

  5. Добавьте обнаружение экстремальных событий, приостановить торговлю, когда произойдут огромные ценовые скачки, чтобы контролировать потери.

  6. Оптимизируйте сроки входа, подумайте о входе на выводе вместо выхода, чтобы снизить риск.

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

Заключение

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


/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("ATR(Hull)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0)
length = input(title="Length", defval=14, minval=1)
price = input(close)
SL = input(50, title="Stop loss")
TP = input(150, title="Take profit")
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) 
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) 
FromYear = input(defval = 2018, title = "From Year", minval = 2017) 
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) 
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) 
ToYear = input(defval = 9999, title = "To Year", minval = 2017) 
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) 
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) 
window() => true
p=price[1]
func_hma(style, length)=>
    return = wma((2*wma(p,length/2))-wma(p,length),round(sqrt(length)))
ATR=func_hma(tr(true), length)    
plot(ATR[0], title="ATR1",color=green,transp=0)
plot(ATR[1], title="ATR2",color=red,transp=0)
if (ATR>ATR[1])
    strategy.entry("long",strategy.long,comment="Long",when=window())
if (ATR<ATR[1])
    strategy.entry("short",strategy.short,comment="Short",when=window())
//strategy.close_all(when=strategy.openprofit<-eqSL and window())
//strategy.close_all(when=strategy.openprofit>eqTP and window())
strategy.exit("exit", "long", profit = TP, loss = SL)
strategy.exit("exit", "short", profit = TP, loss = SL)

Больше