Стратегия торговли на основе SuperTrend Channel

Автор:Чао Чжан, Дата: 2024-02-05 13:57:28
Тэги:

img

Обзор

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

Принцип стратегии

Эта стратегия использует ATR и Donchian Channel для вычисления двух линий стоп-лосса для длинных и коротких позиций. В частности, она вычисляет значение ATR с использованием периода ATR и параметров мультипликатора, затем добавляет и вычитает его из среднего числа самых высоких и самых низких, чтобы получить длинные и короткие линии стоп-лосса. Когда цена закрытия превышает длинную линию стоп-лосса вверх, генерируется длинный сигнал. Когда цена закрытия превышает короткую линию стоп-лосса вниз, запускается короткий сигнал.

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

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

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

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

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

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

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

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

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

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

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

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

  3. Включите индикаторы объема, чтобы отрегулировать позицию стоп-лосса.

  4. Внедрить модели машинного обучения для адаптивной оптимизации параметров.

Заключение

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


/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//EU ESCREVI ISSO TUDO, PARA FICAR BEM CLARO

strategy("SuperTrend Strategy", overlay=true)


//AQUI OS INPUTS PARA A SUPERTREND
length = input(title="ATR Period", type=input.integer, defval=7)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=7)
showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true)

//AQUI O CALCULO DO ATR STOPS
atr = mult * atr(length)



//AQUI A TRANSFORMAÇÃO DO ATR STOPS EM SUPERTREND
//-
//A LÓGICA PARA LONGSTOP
longStop = hl2 - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop

//A LÓGICA PARA SELLSTOP
shortStop = hl2 + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop


//DIREÇÃO DO INDICADOR
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and close > shortStopPrev ? 1 : 
   dir == 1 and close < longStopPrev ? -1 : dir


//DEFININDO AS CORES DAS LINHAS DA SUPERTREND
longColor = color.lime
shortColor = color.red


//PLOTANDO NO GRÁFICO A SUPERTREND E A ESTRATÉGIA
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=3, color=longColor)
buySignal = dir == 1 and dir[1] == -1
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=3, color=shortColor)
sellSignal = dir == -1 and dir[1] == 1

//DEFININDO AS FUNÇÕES DE COMPRA E VENDA
strategy.entry("long", strategy.long, when = buySignal)
strategy.entry("short", strategy.short, when = sellSignal)




Больше