Стратегия RSI-CCI Fusion объединяет сильные стороны индикаторов RSI и CCI для формирования мощного подхода к торговле.
Вычислить значения RSI и CCI.
Стандартизировать RSI и CCI с использованием z-score для лучшей сопоставимости.
Сплавляйте стандартизированные RSI и CCI с назначенными весами.
Вычислить динамические верхние и нижние диапазоны для определения уровня перекупленности/перепродажи.
Считайте коротким, когда индикатор слияния переходит ниже верхней полосы. Считайте длинным, когда переходит выше нижней полосы.
По сравнению с использованием только RSI или CCI, преимущества этой стратегии включают:
Интегрирует сильные стороны обоих показателей для лучшей точности.
Более научные динамические полосы уменьшают ложные сигналы.
Стандартизация обеспечивает сопоставимость, улучшает синтез.
Может оценивать как тенденцию, так и условия перекупки/перепродажи.
Некоторые риски этой стратегии:
Неправильные параметры могут упустить ключевые торговые точки.
Недостаточные весовые показатели могут ослабить роль индикаторов.
Игнорирование общей тенденции может привести к сделкам, противоречащим тренду.
Настройки полосы слишком свободные или слишком тесные увеличивают риск ошибочного суждения.
Она может быть оптимизирована:
Поиск оптимальных параметров с помощью испытаний.
Корректировка веса на основе рыночных условий.
Включение индикаторов тенденции и объема для лучшей точности.
Установка стоп-лосса/приобретения прибыли для контроля рисков.
Оптимизация диапазонов для баланса чувствительности и шума.
Стратегия слияния RSI-CCI улучшает суждение путем консолидации индикаторов. При надлежащих параметрах и контроле рисков она обычно превосходит стратегии с одним индикатором. Но все еще требуются корректировки на основе рыночных условий.
/*backtest start: 2023-08-19 00:00:00 end: 2023-09-18 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © Julien_Eche //@version=5 // strategy("RSI-CCI Fusion Strategy", shorttitle="RSI-CCI Fusion Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) length = input(14, title="Length") rsi_weight = input.float(0.5, title="RSI Weight", minval=0.0, maxval=1.0) cci_weight = 1.0 - rsi_weight enableShort = input(false, "Enable Short Positions") src = close rsi = ta.rsi(src, length) cci = ta.cci(src, length) // Standardize the RSI and CCI values using z-score rsi_std = ta.stdev(rsi, length) rsi_mean = ta.sma(rsi, length) rsi_z = (rsi - rsi_mean) / rsi_std cci_std = ta.stdev(cci, length) cci_mean = ta.sma(cci, length) cci_z = (cci - cci_mean) / cci_std // Combine the standardized RSI and CCI combined_z = rsi_weight * rsi_z + cci_weight * cci_z // Rescale to the original scale rescaled = combined_z * ta.stdev(combined_z, length) + ta.sma(combined_z, length) // Calculate dynamic upper and lower bands upper_band = ta.sma(rescaled, length) + ta.stdev(rescaled, length) lower_band = ta.sma(rescaled, length) - ta.stdev(rescaled, length) // Buy and sell conditions buySignal = ta.crossover(rescaled, lower_band) sellSignal = ta.crossunder(rescaled, upper_band) // Enter long position if buySignal strategy.entry("Buy", strategy.long) // Exit long position if sellSignal strategy.close("Buy") // Enter short position if enabled if enableShort and sellSignal strategy.entry("Sell", strategy.short) // Exit short position if enabled if enableShort and buySignal strategy.close("Sell")