Стратегия обратного теста SuperTrend Multi Timeframe

Автор:Чао Чжан, Дата: 2023-12-05 10:59:54
Тэги:

img

Обзор

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

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

Стратегия сначала вызывает функцию супертенденции, передавая параметры mult и len, чтобы генерировать линию супертенденции superTrend и направление dir. Затем она графикует график линии супертенденции. Входной параметр внутридневный контролирует, следует ли выводить на квадрат открытые позиции внутридневным. Если внутридневный является истинным, внутридневные открытые позиции будут выводиться на квадрат после 14:45.

Правила генерации сигнала следуют: когда цена закрытия находится выше линии супертенденции, генерируется сигнал покупки; когда цена закрытия находится ниже линии супертенденции, генерируется сигнал продажи. Когда сигнал покупки получается, будет выполнен ордер покупки для открытия длинной позиции; когда сигнал продажи получается, будет выполнен ордер продажи для открытия короткой позиции. Если включен фильтр внутридневного дня, то есть установлен на true, все открытые длинные и короткие позиции будут закрываться после 14:45 каждый день.

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

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

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

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

Основной риск этой стратегии заключается в том, что индикатор Supertrend имеет некоторое отставание, что может привести к дополнительным потерям.

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

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

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

  1. Проверьте несколько наборов параметров Supertrend, чтобы найти оптимальную комбинацию параметров.

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

  3. Оптимизировать и динамически корректировать конкретное внутридневное расчетное время, чтобы уменьшить преждевременное расчетное время.

  4. Добавьте такие механизмы стоп-лосса, как фиксированный процент стоп-лосса или ATR стоп-лосса.

  5. Испытать подходящие стратегии использования капитала и размещения позиций.

  6. Проверка на более длительный период времени для проверки надежности параметров.

Заключение

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


/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-04 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//@Gurjant_Singh IISMA-Indian Institute of stock Market Analysis 

strategy("SupterTrend ", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=300, calc_on_order_fills=false, calc_on_every_tick=false)




mult = input(type=input.float, defval=3)
len = input(type=input.integer, defval=5)
[superTrend, dir] = supertrend(mult, len)



plot(superTrend)

intrady = input(false, "Do you want to exit intrday position", type = input.bool)

IntraDay_SquareOff = minute >= 45 and hour >= 14



buy = close > superTrend

sell = close < superTrend

if buy
    strategy.entry("Buy", true)
    
if sell
    strategy.entry("sell", false)

if intrady and IntraDay_SquareOff
    strategy.close("buy")
    strategy.close("sell")






Больше