Strategi RSI-CCI Fusion menggabungkan kekuatan indikator RSI dan CCI untuk membentuk pendekatan perdagangan yang kuat.
Menghitung nilai RSI dan CCI.
Standarisasi RSI dan CCI menggunakan z-score untuk perbandingan yang lebih baik.
Fuse RSI dan CCI standar dengan bobot yang ditunjuk.
Menghitung band atas dan bawah dinamis untuk mengidentifikasi tingkat overbought/oversold.
Anggap pendek ketika indikator fusi melintasi band atas. Anggap panjang ketika melintasi band bawah.
Dibandingkan dengan menggunakan RSI atau CCI saja, keuntungan dari strategi ini meliputi:
Mengintegrasikan kekuatan dari kedua indikator untuk akurasi yang lebih baik.
Band dinamis yang lebih ilmiah mengurangi sinyal palsu.
Standarisasi memungkinkan perbandingan, meningkatkan fusi.
Dapat menilai tren dan kondisi overbought/oversold.
Beberapa risiko dari strategi ini:
Parameter yang tidak tepat dapat melewatkan titik perdagangan utama.
Berat yang tidak memadai dapat melemahkan peran indikator.
Mengabaikan tren keseluruhan dapat menyebabkan perdagangan yang bertentangan dengan tren.
Pengaturan pita yang terlalu longgar atau terlalu ketat meningkatkan risiko penilaian yang salah.
Hal ini dapat dioptimalkan dengan:
Menemukan parameter optimal melalui pengujian.
Menyesuaikan bobot berdasarkan kondisi pasar.
Menggabungkan indikator tren dan volume untuk akurasi yang lebih baik.
Menetapkan stop loss/take profit untuk mengendalikan risiko.
Mengoptimalkan band untuk menyeimbangkan sensitivitas dan kebisingan.
Strategi fusi RSI-CCI meningkatkan penilaian dengan mengkonsolidasikan indikator. Dengan parameter yang tepat dan pengendalian risiko, umumnya lebih baik daripada strategi indikator tunggal.
/*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")