Strategi Gabungan RSI-CCI


Tarikh penciptaan: 2023-09-19 16:42:18 Akhirnya diubah suai: 2023-09-19 16:42:18
Salin: 0 Bilangan klik: 1136
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi gabungan RSI-CCI membentuk strategi perdagangan yang kuat dengan menggabungkan kelebihan kedua-dua petunjuk RSI dan CCI. Ia dapat menangkap pergerakan dan perubahan kitaran pada masa yang sama, membuat penilaian yang lebih menyeluruh mengenai keadaan pasaran.

Prinsip Strategi

  1. Mengira nilai RSI dan CCI.

  2. Nilai RSI dan CCI telah distandardkan menggunakan z-score, yang menjadikan perbandingan lebih kuat.

  3. RSI dan CCI yang telah diiktiraf telah digabungkan dengan berat tertentu.

  4. Ia juga boleh digunakan untuk mengkaji pergerakan pergerakan dan mengenal pasti keadaan jual beli yang berlebihan.

  5. Pertimbangkan untuk mengosongkan apabila melintasi landasan bawah penunjuk penggabungan; pertimbangkan untuk melakukan lebih banyak apabila melintasi landasan bawah penunjuk penggabungan.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut berbanding dengan menggunakan RSI atau CCI sahaja:

  1. Menggabungkan kelebihan kedua-dua penunjuk untuk meningkatkan ketepatan penilaian.

  2. Pengaturan dinamik atas dan bawah lebih saintifik dan berpatutan, mengurangkan kesalahan penghakiman.

  3. Pengurusan standard membolehkan pelbagai penunjuk dapat dibandingkan, meningkatkan kesan penggabungan.

  4. Ia juga boleh menilai trend dan overbought dan oversold.

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Parameter yang ditetapkan tidak betul, mungkin terlepas masa transaksi yang penting.

  2. Penentuan berat yang tidak betul akan melemahkan fungsi sesuatu indikator.

  3. Tidak menghiraukan arah trend keseluruhan boleh menyebabkan perdagangan berlawanan arah.

  4. Kereta api di atas dan bawah ditetapkan terlalu longgar atau terlalu padat, risiko kesalahan penilaian.

Arah pengoptimuman

Ini boleh dioptimumkan dengan:

  1. Uji parameter yang berbeza untuk mencari parameter yang optimum.

  2. Mengoptimumkan berat indeks mengikut keadaan pasaran.

  3. Menambah ketepatan dengan menggabungkan trend dan harga.

  4. Tetapkan Stop Loss Stop dan Kawal Risiko

  5. Mengoptimumkan parameter atas dan bawah landasan, menyeimbangkan sensitiviti dan bunyi.

ringkaskan

Strategi penggabungan RSI-CCI menggunakan pendekatan penggabungan penunjuk untuk meningkatkan kefahaman, dengan parameter yang ditetapkan secara saintifik dan risiko yang dikendalikan, keberkesanan keseluruhan lebih baik daripada strategi penunjuk tunggal. Namun, perlu berhati-hati dengan skim penyesuaian mengikut pasaran.

Kod sumber strategi
/*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")