Эта стратегия сочетает в себе индикатор движущейся средней конвергенции дивергенции (MACD) и индикатор стохастического индекса относительной силы (Stoch RSI) для определения направления тренда рынка, длинный, когда тренд растет, и короткий, когда тренд падает.
Эта стратегия использует индикаторы MACD и Stoch RSI для определения направления тренда рынка.
Индикатор MACD состоит из быстрой линии EMA, медленной линии EMA и разницы между ними, отражающей конвергенцию и дивергенцию краткосрочных и долгосрочных скользящих средних. Когда быстрая линия пересекает поверх медленной линии, это сигнал покупки. Когда быстрая линия пересекает ниже медленной линии, это сигнал продажи.
Индикатор Stoch RSI объединяет сильные стороны как индикаторов RSI, так и Stoch, чтобы показать уровни перекупа и перепродажи на рынке. Когда Stoch RSI больше линии сигнала Stoch RSI, это сигнал покупки. Когда он ниже линии сигнала, это сигнал продажи.
Эта стратегия использует MACD и Stoch RSI на ежедневных и 4-часовых временных рамках для определения тенденции рынка. Когда оба индикатора генерируют сигналы покупки на ежедневных и 4-часовых графиках, идите в длинный. Когда оба генерируют сигналы продажи, идите в короткий. Это может эффективно отфильтровать ложные сигналы и улучшить надежность.
Сочетание двух факторов для оценки движения рынка может эффективно отфильтровать ложные сигналы и улучшить точность сигнала
Подтверждение сигналов через высокие и низкие временные рамки (ежедневные и 4H) избегает получения whipsawed
Следуя тенденциям, избегайте неуравновешенных рынков
Простая и понятная логика стратегии, легкая для понимания и выполнения
Корректировать параметры MACD и Stoch RSI для оптимизации пунктов входа и выхода
Добавьте стратегии остановки, чтобы закрепить прибыль
Добавление размера позиции к контролю по риску сделки
Добавьте больше факторов для оценки для улучшения точности сигнала
Использование методов машинного обучения для динамической оптимизации параметров
Эта стратегия определяет направление тренда с помощью двухфакторной модели и проверяет сигналы в течение всех временных рамок. Это относительно стабильная и надежная тенденция, следующая за стратегией, с определенными возможностями управления рисками и возможностью ошибок. Ее производительность может быть еще больше улучшена путем добавления оптимизации параметров, стоп-лосса, размещения позиций и других модулей.
/*backtest start: 2024-01-09 00:00:00 end: 2024-01-16 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title='[RS]Khizon (UGAZ) Strategy V0', shorttitle='K', overlay=false, pyramiding=0, initial_capital=100000, currency=currency.USD) // || 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=3) srsi_signal_smooth = input(title='SRSI Signal Smoothing:', defval=3) // || Strategy Inputs: trade_size = input(title='Trade Size in USD:', type=float, defval=1) buy_trade = input(title='Perform buy trading?', type=bool, defval=true) sel_trade = input(title='Perform sell trading?', type=bool, defval=true) // || 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('NGAS', '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('NGAS', '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(title='D1T', series=daily_trigger?0:na, style=circles, color=blue, linewidth=4, transp=65) plot(title='H4T', series=h4_trigger?0:na, style=circles, color=navy, linewidth=2, transp=0) sel_open = sel_trade and not daily_trigger and not h4_trigger buy_open = buy_trade and daily_trigger and h4_trigger sel_close = not buy_trade and daily_trigger and h4_trigger buy_close = not sel_trade and not daily_trigger and not h4_trigger strategy.entry('sel', long=false, qty=trade_size, comment='sel', when=sel_open) strategy.close('sel', when=sel_close) strategy.entry('buy', long=true, qty=trade_size, comment='buy', when=buy_open) strategy.close('buy', when=buy_close)