Стратегия адаптивного прорыва канала


Дата создания: 2024-02-29 14:49:05 Последнее изменение: 2024-02-29 14:49:05
Копировать: 1 Количество просмотров: 631
1
Подписаться
1617
Подписчики

Стратегия адаптивного прорыва канала

Обзор

Adaptive Channel Breakout Strategy (Стратегия адаптивного прорыва канала) - это стратегия тренда, которая отслеживает рыночные ценовые каналы. Она определяет ценовые каналы, рассчитывая максимальные и минимальные цены за определенный период, и посылает торговые сигналы, когда цены прорывают каналы.

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

Стратегический принцип

Эта стратегия основана на теории прорыва каналов. Она одновременно рассчитывает максимальные и минимальные цены двух различных циклов (длина входа и длина выхода), образуя каналы.

В частности, стратегия сначала рассчитывает максимальные цены (upper) и минимальные цены (lower) за 20 циклов (длина входа в рынок) для формирования ценового канала. Затем она рассчитывает максимальные цены (sup) и минимальные цены (sdown) за 10 циклов (длина выхода из рынка).

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

Стратегические преимущества

  • Автоматическая адаптация к изменениям на рынке. Канал этой стратегии автоматически корректируется в зависимости от последних цен, расширяя диапазон канала для фильтрации шума в начале тренда.
  • Сильные трейдеры входят только в то время, когда цены находятся на высоком уровне, чтобы выйти из строя, или на низком уровне, чтобы выйти из строя.
  • Механизм управления рисками. Стойкость и убыток, рассчитанные в разные периоды, позволяют гибко блокировать прибыль и избегать увеличения убытков.
  • Стратегия проста в реализации. Требуется всего два параметра, тестовые данные легко доступны и подходят для количественных сделок.

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

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

  • Риск отслеживания и уменьшения. При слишком большом диапазоне каналов существует риск отслеживания и уменьшения. Необходимые сделки могут быть уменьшены с помощью параметров оптимизации.
  • Риск остановки убытков. Линия остановки с фиксированным циклом может быть слишком жесткой, можно рассмотреть возможность использования адаптивной остановки ATR.
  • Риск чрезмерной частоты торгов. Неправильная настройка параметров может привести к чрезмерной частоте торгов. Можно рассмотреть возможность добавления фильтрующих условий для контроля частоты торгов.
  • Рыночные аномальные риски. Эта стратегия основана на исторических данных, чтобы судить о будущих тенденциях, которые могут не сработать или потерять при значительных изменениях на рынке.

Оптимизация стратегии

В этой стратегии также есть место для оптимизации:

  • В сочетании с трендовыми индикаторами фильтруются сигналы. Можно вводить трендовые индикаторы, такие как EMA или MACD, которые включаются только в том случае, если направление тренда совпадает с направлением прорыва канала.
  • Введение адаптивного ATR-стоп-лаза. Используя адаптивную стоп-линию, рассчитанную с использованием средней реальной амплитуды, можно лучше контролировать одиночные потери.
  • Оптимизация комбинации параметров. Вы можете найти оптимальную комбинацию параметров с помощью дополнительного тестирования комбинаций, что еще больше повысит доходность стратегии.
  • В сочетании с технологиями машинного обучения. Используя нейронные сети или генетические алгоритмы для генерации динамических параметров, чтобы сделать стратегию более громоздкой.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Turtle Trade Channels Strategy", shorttitle="TTCS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

length = input(20,"Entry Length", minval=1)
len2=input(10, "Exit Length", minval=1)

lower = lowest(length)
upper = highest(length)

up=highest(high,length)
down=lowest(low,length)
sup=highest(high,len2)
sdown=lowest(low,len2)
K1=barssince(high>=up[1])<=barssince(low<=down[1]) ? down : up
K2=iff(barssince(high>=up[1])<=barssince(low<=down[1]),sdown,sup)
K3=iff(close>K1,down,na)
K4=iff(close<K1,up,na)

buySignal=high==upper[1] or crossover(high,upper[1])
sellSignal = low==lower[1] or crossover(lower[1],low)
buyExit=low==sdown[1] or crossover(sdown[1],low)
sellExit = high==sup[1] or crossover(high,sup[1])

strategy.entry("Buy", strategy.long, when = buySignal and barssince(buySignal) < barssince(sellSignal[1]))
strategy.entry("Sell", strategy.short, when = sellSignal and barssince(sellSignal) < barssince(buySignal[1]))
strategy.exit("Buy Exit", from_entry = "Buy", when = buyExit and barssince(buyExit) < barssince(sellExit[1]))
strategy.exit("Sell Exit", from_entry = "Sell", when = sellExit and barssince(sellExit) < barssince(buyExit[1]))

plot(K1, title="Trend Line", color=color.red, linewidth=2)
e=plot(K2, title="Exit Line", color=color.blue, linewidth=1, style=6)