Количественная торговая стратегия, основанная на супертрендовом канале


Дата создания: 2024-02-05 13:57:28 Последнее изменение: 2024-02-05 13:57:28
Копировать: 1 Количество просмотров: 697
1
Подписаться
1617
Подписчики

Количественная торговая стратегия, основанная на супертрендовом канале

Обзор

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

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

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

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

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

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

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

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

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

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

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

Направление оптимизации

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

  1. Оптимизируйте параметры ATR-циклов и ATR-множителей, чтобы найти оптимальное сочетание. Можно анализировать показатели, такие как доходность, коэффициент Шарпа, путем обратной измерения различных параметров.

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

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

  4. Добавление модели машинного обучения для оптимизации параметров. Можно использовать модели, такие как RNN, LSTM, для прогнозирования параметров и динамической оптимизации параметров.

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

Эта стратегия основана на дизайне индикатора сверхтенденционного канала, определяет четкое направление тенденции и имеет высокий коэффициент выигрыша. При этом применение 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)