
Основная идея этой стратегии заключается в том, чтобы использовать индикаторы супертенденции для создания торговых сигналов на нескольких временных рамках и в сочетании с внутридневными фильтрами для удержания позиций на диске, что позволяет осуществлять торговлю на нескольких временных рамках и повышает качество сигнала.
Сначала вызывается функция supertrend, введены параметры mult и len, создаются индикаторные линии супертренда и направление dir. Затем создается карта супертренда. Вводные параметры intrady контролируют, проводится ли ликвидация на диске. Если intrady является истинным, то после 14:45 проводится ликвидация на диске.
Правила генерации стратегического сигнала следующие: generate buy signal when the closing price is above the super trend line; generate sell signal when the closing price is below the super trend line. При получении сигнала покупки, выполняйте стратегию открытия позиции для покупки; при получении сигнала продажи, выполняйте стратегию открытия позиции для продажи. Если вы выбрали внутридневную фильтрацию, то есть intrady true, то после 2:45 дня каждый день выровняются все позиции покупки и продажи.
Наибольшим преимуществом этой стратегии является использование простого, но практичного технического индикатора супертронда для создания торговых сигналов на многократных временных рамках. Сам по себе супертренд обладает хорошей выигрышной вероятностью и доходностью. Кроме того, стратегия дополнительно добавляет внутридневный фильтр, который позволяет избежать убытков, вызванных резкими колебаниями в диске.
Кроме того, эта стратегия очень проста, используя лишь небольшой код, чтобы реализовать основную логику, легко понять, изменить и расширить. Это предоставляет пользователям большую гибкость, они могут корректировать параметры или добавлять другие показатели в соответствии с их потребностями.
Основной риск этой стратегии заключается в том, что существует определенное отставание от индикатора супертенденции, которое может привести к дополнительным убыткам. Кроме того, фиксированные многократные торговые рамки могут также упускать торговые возможности на коротких линиях.
Чтобы снизить эти риски, рекомендуется оптимизировать параметры супертенденции mult и len, чтобы найти оптимальную комбинацию параметров. Также можно тестировать добавление других показателей для комбинации, используя больше факторов для повышения стабильности стратегии. Кроме того, можно рассмотреть возможность отмены фиксированного внутридневного времени позиции, а вместо динамического отслеживания колебаний определить время позиции.
Основными направлениями оптимизации стратегии являются:
Тестирование множества параметров супертенденции, чтобы найти оптимальную комбинацию параметров.
Добавление других технических показателей, таких как K-линия, движущаяся средняя и т.д. для комбинирования, использование большего количества факторов фильтрации сигналов.
Оптимизация и динамическая корректировка конкретных внутридневных позиций, снижение вероятности ошибочного выравнивания позиций.
Добавление стоп-стратегии, такой как фиксированный процентный стоп или ATR стоп.
Проверка эффективности использования средств и стратегии управления позициями.
Отслеживание более длительных временных циклов, подтверждение стабильности параметров.
Эта стратегия является очень практичной в целом. Она использует простые индикаторы супертенденции для осуществления торговли в многократных временных рамках, в то же время используя фильтры для контроля потери на диске.
/*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")