Стратегия торговли на основе двойных временных трендов
Эта торговая стратегия определяет направление тренда в нескольких временных рамках, чтобы войти в тенденции рано.
Логика стратегии:
При расчете MACD и SRSI на дневном графике, когда MACD пересекает сигнал и SRSI %K пересекает сигнал, это считается бычьим сигналом.
При расчете MACD и SRSI на 4-часовом графике, когда MACD пересекает сигнал и SRSI %K пересекает сигнал, это считается бычьим сигналом.
Продолжайте продавать только тогда, когда одновременно появляются дневные и 4-часовые сигналы.
Если исчезнут как ежедневные, так и четырехчасовые бычьи сигналы, закрывайте длинные позиции.
Если и ежедневные, и 4-часовые медвежие сигналы (пересечение MACD и SRSI ниже) появляются вместе, перейдите на короткий.
Если исчезнут как ежедневные, так и четырехчасовые медвежие сигналы, закрыть короткие позиции.
Постоянно следите за двойными сигналами, чтобы следить за тенденциями.
Преимущество данной стратегии заключается в том, что можно заглянуть в тренды на ранней стадии их развития, используя двойные фильтры для повышения надежности сигнала и предотвращения ложных сигналов во время неблагоприятных периодов.
Однако потенциальный риск заключается в том, что сильные тенденции могут строиться на одном временном интервале до подтверждения на втором, что приводит к отсутствию первоначальных записей.
В целом, стратегия Dual Timeframe Trends Following направлена на захват движений тренда на ранних стадиях. Двойная подтверждение помогает избежать сбоев, но иногда может пропустить первоначальные записи. Требуется тщательная настройка параметров и управление рисками.
/*backtest start: 2023-08-12 00:00:00 end: 2023-09-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // strategy(title='[RS]Khizon (DWTI) Strategy V0', shorttitle='K', overlay=false, pyramiding=0, initial_capital=100000, currency=currency.USD) trade_size = 10000 // || Inputs: macd_src = input(title='MACD Source:', defval=close) macd_fast = input(title='MACD Fast Length:', defval=12) macd_slow = input(title='MACD Slow Length:', defval=26) macd_signal_smooth = input(title='MACD Signal Smoothing:', defval=9) srsi_src = input(title='SRSI Source:', defval=close) srsi_rsi_length = input(title='SRSI RSI Length:', defval=14) srsi_stoch_length = input(title='SRSI Stoch Length:', defval=14) srsi_smooth = input(title='SRSI Smoothing:', defval=14) srsi_signal_smooth = input(title='SRSI Signal Smoothing:', defval=14) // || MACD(close, 12, 26, 9): ||---------------------------------------------|| f_macd_trigger(_src, _fast, _slow, _signal_smooth)=> _macd = ema(_src, _fast) - ema(_src, _slow) _signal = sma(_macd, _signal_smooth) _return_trigger = _macd >= _signal ? true : false // || Stoch RSI(close, 14, 14, 3, 3) ||-----------------------------------------|| f_srsi_trigger(_src, _rsi_length, _stoch_length, _smooth, _signal_smooth)=> _rsi = rsi(_src, _rsi_length) _stoch = sma(stoch(_rsi, _rsi, _rsi, _stoch_length), _smooth) _signal = sma(_stoch, _signal_smooth) _return_trigger = _stoch >= _signal ? true : false // ||-----------------------------------------------------------------------------|| // ||-----------------------------------------------------------------------------|| // || Check Directional Bias from daily timeframe: daily_trigger = security('USOIL', 'D', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth)) h4_trigger = security('USOIL', '240', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth)) plot(0, style=circles, color=daily_trigger?blue:na, linewidth=4, transp=65) plot(0, style=circles, color=h4_trigger?navy:na, linewidth=2, transp=0) sel_open = daily_trigger and h4_trigger buy_open = not daily_trigger and not h4_trigger strategy.entry('sel', long=false, comment='sel', when=sel_open) strategy.entry('buy', long=true, comment='buy', when=buy_open)