Стратегия двойного супертенда

Автор:Чао Чжан, Дата: 2023-11-15 16:33:05
Тэги:

img

Обзор

Стратегия Dual SuperTrend представляет собой количественную торговую стратегию, которая включает в себя систему двойного канала SuperTrend.

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

Стратегия Dual SuperTrend происходит от индикатора SuperTrend. SuperTrend состоит из верхних и нижних полос для определения ценовых тенденций и ключевых уровней поддержки / сопротивления.

  • Консолидирующий канал: состоит из основных верхних и нижних полос для оценки текущей тенденции.
  • Канал разрыва: сформирован эвристическими верхними и нижними полосами для улавливания переворотов тренда.

Стратегия сначала вычисляет истинный диапазон и средний истинный диапазон. Затем она вычисляет базовые диапазоны на основе параметров длины и мультипликатора. Далее она строит канал перерыва, если цена проходит через базовые диапазоны. Таким образом, устанавливается двойная система каналов.

При структуре двойного канала торговые сигналы генерируются, когда цена пересекает разные каналы:

  • Сигнал покупки запускается, когда цена пересекает нижнюю полосу консолидирующего канала.
  • Сигнал продажи запускается, когда цена переходит ниже верхней полосы консолидирующего канала.

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

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

Стратегия Dual SuperTrend с двуканальной системой имеет следующие преимущества:

  • Зафиксировать изменение тренда и избегать ложных прорывов.
  • Устойчивость в сделках. Двухканальный продлевает каждую сделку по сравнению с одним SuperTrend.
  • Большое пространство для оптимизации параметров, каналы могут быть настроены на различные продукты и временные рамки.
  • Уменьшенные стратегические штыки, двойной канал повышает стабильность.
  • Интуитивные каналы облегчают оценку стратегии.

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

Стратегия Dual SuperTrend также сопряжена со следующими рисками:

  • Выбор диапазона каналов требует экспертизы. Слишком узкие каналы вызывают частые недействительные вырывы. Слишком широкие каналы не могут вовремя улавливать обратные действия.
  • Влияние внешних событий Нетехнические события могут вызвать аномальные движения цен, которые приводят к недействительности системы канала.
  • Высокая частота торговли. Двуканальная структура имеет тенденцию увеличивать частоту торговли и необходимость контроля размеров позиций.
  • Оптимизация параметров сложна. Оптимизировать оба канала одновременно сложно. Требуется достаточно времени.
  • Нет гарантии стоп-лосса. Стратегия не имеет механизма стоп-лосса

Риски могут быть смягчены путем корректировки диапазона параметров, добавления фильтров, управления размером позиции и т. д.

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

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

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

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

Заключение

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


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=4
strategy("Double Supertrend Strategy", overlay=true)

// Define your parameters
length = input(10, title="Length")
multiplier = input(3, title="Multiplier")

// Calculate the True Range and Average True Range
trueRange = max(high - low, max(abs(high - close[1]), abs(low - close[1])))
averageTrueRange = sma(trueRange, length)

// Calculate the basic upper and lower bands
basicUpperBand = hl2 + (multiplier * averageTrueRange)
basicLowerBand = hl2 - (multiplier * averageTrueRange)

// Calculate the final upper and lower bands
finalUpperBand = basicUpperBand
finalLowerBand = basicLowerBand

finalUpperBand := close[1] > finalUpperBand[1] ? max(basicUpperBand, finalUpperBand[1]) : basicUpperBand
finalLowerBand := close[1] < finalLowerBand[1] ? min(basicLowerBand, finalLowerBand[1]) : basicLowerBand

// Determine if we're currently in an uptrend or downtrend
uptrend = close > finalLowerBand[1]
downtrend = close < finalUpperBand[1]

// Plot the bands
plot(uptrend ? finalUpperBand : na, color=color.green, linewidth=2)
plot(downtrend ? finalLowerBand : na, color=color.red, linewidth=2)

// Define your conditions for entering and exiting trades
if (uptrend)
    strategy.entry("Buy", strategy.long)
else if (downtrend)
    strategy.entry("Sell", strategy.short)



Больше