Стратегия отслеживания канала Келтнера

Автор:Чао Чжан, Дата: 2023-12-25 13:14:24
Тэги:

img

Обзор

Эта стратегия разработана на основе индикатора Keltner Channel для генерации торговых сигналов, когда цена проходит через верхние и нижние полосы канала.

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

Стратегия использует SMA и ATR для построения Канала Келтнера.

Верхняя полоса = SMA + ATR * множитель Нижняя полоса = SMA - ATR * множитель

Когда цена проходит выше верхней полосы, генерируется сигнал покупки. Когда цена проходит ниже нижней полосы, генерируется сигнал продажи.

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

Логика такова:

  1. Создать канал Келтнера с SMA и ATR
  2. Когда цена проходит выше верхней полосы, установить входную цену и пойти долго
  3. Когда цена проходит ниже нижней полосы, сглаживать предыдущую длинную позицию

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

Преимущества этой стратегии:

  1. Простая и понятная логика, легко понятная и реализуемая
  2. Канал Келтнера интуитивно понятен для определения трендов
  3. Только долгое время избегает преследования риска стоп-лосса
  4. Условные приказы для точности записей

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

Существуют также некоторые риски:

  1. Частые открытые/закрытые сделки во время колебаний рынка
  2. Не в состоянии воспользоваться короткими возможностями
  3. Отсутствие механизма выхода, необходимость ручного вмешательства

Решения:

  1. Оптимизировать параметры канала для уменьшения ложных сигналов
  2. Добавить короткий модуль для двусторонней торговли
  3. Добавьте механизмы выхода, такие как перемещение стоп-лосс, отслеживание стоп

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

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

  1. Оптимизировать такие параметры, как период канала, ATR мультипликатор и т.д.
  2. Добавить короткий модуль на основе нижнего прорыва полосы
  3. Включить механизмы остановки потери, такие как ATR trailing stop
  4. Подумайте о дополнительных фильтрах, чтобы избежать ложных сигналов
  5. Эффективность испытаний на различных продуктах

Заключение

Эта стратегия эффективно улавливает рыночные тенденции с помощью простых правил Keltner Channel. Логика ясна и понятна. Несмотря на отсутствие выходов и короткого модуля, она имеет большой потенциал для улучшений, таких как настройка параметров, добавление остановок, короткий ход и т. Д. В целом ценная квантовая стратегия, достойная углубленного исследования и применения.


/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Keltner Channel Strategy", overlay=true)
source = close

useTrueRange = input(true)
length = input(20, minval=1)
mult = input(1.0)

ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)

bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])

sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1]) 

crossBcond = false
crossBcond := crossUpper ? true 
 : na(crossBcond[1]) ? false : crossBcond[1]

crossScond = false
crossScond := crossLower ? true 
 : na(crossScond[1]) ? false : crossScond[1]

cancelBcond = crossBcond and (source < ma or high >= bprice )
cancelScond = crossScond and (source > ma or low <= sprice )

if (cancelBcond)
    strategy.cancel("KltChLE")

if (crossUpper)
    strategy.entry("KltChLE", strategy.long, stop=bprice, comment="KltChLE")

if (cancelScond)
    strategy.cancel("KltChSE")

if (crossLower)
    strategy.entry("KltChSE", strategy.short, stop=sprice, comment="KltChSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Больше