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

Автор:Чао Чжан, Дата: 2024-02-29 14:49:05
Тэги:

img

Обзор

Adaptive Channel Breakout Strategy - это стратегия, основанная на тренде, которая отслеживает ценовые каналы на рынке.

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

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

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

В частности, стратегия сначала рассчитывает 20-периодную самую высокую цену (верхнюю) и самую низкую цену (нижнюю) для формирования ценового канала. Затем она рассчитывает 10-периодную самую высокую цену (sup) и самую низкую цену (спад). После того, как сигнал покупки запускается (цены прерываются выше верхней рельсы), 10-периодная самая низкая цена (спад) используется в качестве линии остановки потери. После того, как сигнал продажи запускается (цены прерываются ниже нижней рельсы), 10-периодная самая высокая цена (sup) используется в качестве линии получения прибыли. Это формирует адаптивную систему канала.

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

Преимущества

  • Канал этой стратегии автоматически корректируется на основе последних цен, расширяя диапазон каналов, чтобы отфильтровать шум, когда начинается тренд.
  • Торгует на сильных прорывах. Вступает только на восходящих или нисходящих прорывах, избегая погони за высокими ценами и уничтожения низких цен.
  • Механизмы контроля рисков: применяется стоп-лосс и линейка получения прибыли на основе различных периодов, чтобы гибко блокировать прибыль и предотвращать увеличение потерь.
  • Легко внедряется, требует только двух параметров, а тестовые данные легко получить, подходящие для количественной торговли.

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

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

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

Оптимизация

Потенциальные оптимизации этой стратегии включают:

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

Заключение

Adaptive Channel Breakout Strategy обладает четкой логикой и сильной целесообразностью в целом. Он может автоматически отслеживать изменения рынка и генерировать торговые сигналы при формировании тенденций. Двухканальные и стоп-лосс/приобретение прибыли механизмы также помогают контролировать риски. Эта стратегия может быть еще больше улучшена в стабильности и прибыльности за счет оптимизации параметров, фильтрационных условий и т. Д. Стоит дальнейшей проверки и уточнения в режиме реального времени.


/*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)



Больше