Strategi RSI Stochastic untuk Perdagangan Cryptocurrency

Penulis:ChaoZhang, Tarikh: 2023-12-15 10:08:14
Tag:

img

I. Ringkasan Strategi

Strategi ini dinamakan Strategi RSI Stochastic untuk Perdagangan Cryptocurrency. Ia menggabungkan Indeks Kekuatan Relatif (RSI) dan penunjuk RSI Stochastic untuk mengenal pasti isyarat beli dan jual untuk cryptocurrency.

Idea utama di sebalik strategi adalah: Pertama mengira nilai RSI, kemudian membina penunjuk RSI Stochastic berdasarkan RSI, iaitu nilai K dan D. Apabila nilai K melintasi di atas nilai D, isyarat beli dihasilkan. Apabila nilai K melintasi di bawah nilai D, isyarat jual dihasilkan. Untuk menapis isyarat palsu, strategi juga memperkenalkan Indeks Perubahan Kadar (RVI) dan garis purata bergerak untuk pengesahan.

II. Prinsip terperinci strategi

  1. Mengira nilai RSI 14 tempoh.

  2. Membina penunjuk RSI Stochastic 14 tempoh berdasarkan RSI untuk mendapatkan nilai K dan D (D adalah purata bergerak 3 tempoh K).

  3. Mengira RVI 5 tempoh dan garis isyaratnya (rata-rata bergerak RVI).

  4. Apabila K melintasi di atas D, jika RVI > Garis Isyarat dan tempoh terakhirs RVI < Garis Isyarat, isyarat beli dihasilkan. Apabila K melintasi di bawah D, jika RVI < Garis Isyarat dan tempoh terakhirs RVI > Garis Isyarat, isyarat jual dihasilkan.

  5. Buka kedudukan panjang atau pendek berdasarkan isyarat yang dihasilkan.

III. Analisis Kelebihan

  1. Gabungan RSI Stochastic dan pengesahan berganda dari RVI dapat menapis isyarat palsu dengan berkesan.

  2. Penunjuk RVI boleh mencerminkan keadaan overbought / oversold jangka pendek dan mengelakkan pembukaan kedudukan pada titik melampau.

  3. Indikator RSI Stochastic mengenal pasti zon overbought / oversold. Ia menggunakan salib emas / mati penunjuk KDJ untuk menentukan titik masuk.

  4. Hasil ujian belakang menunjukkan strategi ini telah mencapai prestasi yang baik pada beberapa pasangan mata wang kripto (seperti FCT/BTC).

IV. Analisis Risiko

  1. Penempatan stop loss yang tidak betul dari strategi stop trailing yang sama boleh menyebabkan berhenti sebelum masa.

  2. Frekuensi isyarat yang tinggi boleh membawa kepada bayaran dagangan yang berlebihan yang harus diambil kira.

  3. Kedua-dua penunjuk KDJ dan RVI boleh menghasilkan isyarat palsu, menyebabkan kerugian yang tidak perlu.

  4. Parameter strategi perlu dioptimumkan untuk pasangan dagangan yang berbeza.

V. Arahan pengoptimuman

  1. Tambah stop loss bergerak untuk mengunci keuntungan. ATR boleh dirujuk untuk menetapkan tahap stop loss.

  2. Mengoptimumkan Parameter RVI dan Parameter RSI Stochastic untuk isyarat yang lebih bersih.

  3. Tambah kawalan saiz perdagangan untuk mengelakkan pesanan tunggal yang terlalu besar.

  4. Menambah mekanisme penapisan untuk mengelakkan membuka kedudukan pada tahap yang tidak menguntungkan. Penunjuk turun naik boleh diperkenalkan untuk menentukan sama ada pasaran kini berada dalam keadaan bergelombang.

  5. Uji pada pasangan cryptocurrency yang berbeza untuk mencari yang paling sesuai.

VI. Ringkasan Strategi

Strategi ini mula-mula membina RSI Stochastic berdasarkan penunjuk RSI, kemudian menggunakan penunjuk RVI untuk pengesahan, untuk mengesan keadaan overbought / oversold jangka pendek dan kedudukan terbuka pada titik perubahan. Kelebihannya adalah bahawa pengesahan berganda dapat menapis isyarat palsu. Kelemahannya adalah risiko parameter yang terlalu sesuai. Secara keseluruhan, strategi ini telah mencapai hasil yang baik pada beberapa pasangan perdagangan. Pengoptimuman lanjut dapat memperoleh keuntungan yang lebih konsisten.


/*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)


Lebih lanjut