
Strategi ini dinamakan Strategi Perdagangan Mata Wang Digital Berasaskan Stochastic RSI. Strategi ini menggabungkan kedua-dua indikator Indeks Kecekapan Relatif (RSI) dan Indeks Pergerakan Rata-rata Bergerak Berasaskan Random (RSI) untuk mengenal pasti isyarat membeli dan menjual mata wang digital.
Strategi utama adalah: pertama mengira nilai RSI, kemudian membina indikator RSI Stochastic berdasarkan RSI, iaitu nilai K dan nilai D. Apabila nilai K melebihi nilai D, ia menghasilkan isyarat beli, dan apabila nilai K di bawah nilai D, ia menghasilkan isyarat jual. Untuk menyaring isyarat palsu, strategi ini juga memperkenalkan indeks kadar perubahan (RVI) dan rata-rata bergerak yang rata untuk pengesahan.
Nilai RSI yang dikira dengan panjang 14.
Indeks RSI Stokastik yang dibina berdasarkan RSI dengan panjang 14, mendapat nilai K dan nilai D ((D adalah purata bergerak 3 tempoh K)).
RVI dengan panjang 5 dan garis isyaratnya ((iaitu purata bergerak licin RVI))
Apabila K di atas melalui D, jika RVI > saluran isyarat dan satu kitaran RVI < saluran isyarat, maka akan menghasilkan isyarat beli; apabila K di bawah melalui D, jika RVI < saluran isyarat dan satu kitaran RVI > saluran isyarat, maka akan menghasilkan isyarat jual.
Bergantung pada isyarat yang dihasilkan, anda boleh membeli atau menjual dan membuka kedudukan.
Gabungan dengan pengesahan berganda Stochastic RSI dan RVI, ia boleh menyaring isyarat palsu dengan berkesan.
Indeks RVI boleh mencerminkan keadaan overbought dan oversold dalam jangka pendek, dan mengelakkan kedudukan di titik-titik yang melampau.
Stochastic RSI dapat mengenal pasti kawasan yang lebih banyak dibeli dan dijual, dengan menggunakan bentuk garpu emas dan garpu mati dalam KDJ untuk menentukan titik jual beli.
Hasil tinjauan menunjukkan bahawa strategi ini telah berjaya dalam beberapa pasangan perdagangan mata wang digital (seperti FCT/BTC).
Ini adalah strategi yang sama untuk mengesan hentian kerugian, dan anda boleh dipenjarakan jika anda menetapkan hentian kerugian dengan tidak betul.
Frekuensi penjanaan isyarat mungkin terlalu tinggi, dan kos urus niaga adalah faktor yang perlu dipertimbangkan.
Indeks KDJ dan RVI boleh menghasilkan isyarat palsu yang menyebabkan kerugian yang tidak perlu.
Parameter strategi perlu dioptimumkan untuk pasangan dagangan yang berbeza.
Tambah Stop Loss Mobile untuk mengunci keuntungan, dan anda boleh merujuk ATR untuk menetapkan Stop Loss.
Optimumkan parameter RVI dan Stochastic RSI untuk memberi isyarat yang lebih jelas.
Menambah kawalan jumlah transaksi untuk mengelakkan pesanan tunggal yang terlalu besar.
Menambah mekanisme penapisan untuk mengelakkan kedudukan tinggi. Indikator kadar turun naik boleh diperkenalkan untuk mengetahui sama ada ia berada dalam keadaan goyah.
Uji pasangan mata wang digital yang berbeza untuk mencari jenis yang paling sesuai.
Strategi ini mula menggunakan indikator RSI untuk membina Stochastic RSI, kemudian menggabungkan indikator RVI untuk mengesahkan isyarat, untuk mengesan fenomena overbought dan oversold dalam jangka pendek, untuk membuka kedudukan di titik pembalikan. Kelebihan adalah pengesahan dua kali dapat menyaring isyarat palsu, kelemahan adalah mungkin ada risiko overmatching parameter. Secara keseluruhan, strategi ini telah berjaya dengan baik pada beberapa pasangan perdagangan, dengan pengoptimuman lanjut, keuntungan yang lebih stabil dapat diperoleh.
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Stochastic RSI", shorttitle="Stoch RSI", overlay = true)
Per = input(5, title="Length", minval=1)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
K = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
D = sma(K, smoothD)
rvi = sum(swma(close-open), Per)/sum(swma(high-low),Per)
sig = swma(rvi)
//plot(rvi, color=green, title="RVI")
//plot(sig, color=red, title="Signal")
//plot(K, title="K")
//plot(D, title="D")
Dn = K <= D and K > 70 and rvi <= sig and rvi[1] >= sig[1]
Up= K >= D and K < 30 and rvi >= sig and rvi[1] <= sig[1]
ARROW = Up - Dn
plotarrow(ARROW, title="Down Arrow", colordown=red, transp=0, maxheight=10, minheight=10)
plotarrow(ARROW, title="Up Arrow", colorup=lime, transp=0, maxheight=10, minheight=10)
long = crossover(Up, Dn)
short = crossunder(Up, Dn)
last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
//plot(long_signal, "BUY", color=green)
//plot(short_signal, "SELL", color=red)
strategy.entry("BUY", strategy.long, when=long_signal)
strategy.entry("SELL", strategy.short, when=short_signal)