Strategi Dagangan Kuantitatif Berasaskan RSI

Penulis:ChaoZhang, Tarikh: 2023-12-06 17:17:16
Tag:

img

Ringkasan

Strategi ini dinamakan Dual Timeframe RSI Reversal. Ia adalah strategi perdagangan kuantitatif berdasarkan Indeks Kekuatan Relatif (RSI). Strategi ini menggunakan dua RSI dengan tempoh yang berbeza untuk menjana isyarat beli dan jual, bertujuan untuk membeli rendah dan menjual tinggi dengan menangkap peluang pembalikan harga.

Logika Strategi

Strategi ini membina isyarat perdagangan dengan membandingkan RSI tempoh cepat (default 55 hari) dan RSI tempoh perlahan (default 126 hari). Apabila RSI tempoh cepat melintasi di atas RSI perlahan, isyarat beli dihasilkan. Apabila RSI cepat jatuh di bawah RSI perlahan, isyarat jual dicetuskan. Dengan membandingkan kekuatan relatif antara dua jangka masa yang berbeza, ia mengesan peluang apabila trend jangka pendek dan jangka panjang berbalik.

Selepas memasuki kedudukan, sasaran keuntungan dan stop loss akan ditetapkan. Sasaran keuntungan lalai adalah 0.9 kali harga masuk. Stop loss lalai adalah 3% di bawah harga masuk. Posisi juga akan ditutup jika isyarat terbalik dicetuskan.

Kelebihan

  • Mengesan pembalikan harga jangka pendek dengan membandingkan dua RSI
  • Menapis isyarat palsu menggunakan pengesahan berganda
  • Had kerugian pada pertaruhan tunggal dengan stop loss

Risiko

  • Isyarat terbalik yang kerap semasa turun naik yang tinggi
  • Stop loss terlalu ketat, mudah tersingkir oleh turun naik kecil
  • Rindu pembalikan utama dengan parameter yang tidak disusun dengan baik

Peningkatan

  • Uji lebih banyak kombinasi parameter RSI untuk mencari optimum
  • Tambah penunjuk lain untuk menapis isyarat palsu
  • Rasio stop loss dan mengambil keuntungan dinamik untuk keuntungan yang lebih baik

Ringkasan

Strategi Dual Timeframe RSI Reversal menjana isyarat perdagangan dengan membandingkan persilangan antara tempoh RSI yang cepat dan perlahan. Ia bertujuan untuk menangkap pembalikan harga jangka pendek. Peraturan keuntungan dan hentian kerugian ditetapkan untuk mengehadkan risiko. Ini adalah strategi khas menggunakan perbandingan penunjuk pelbagai jangka masa untuk pembalikan perdagangan. Kawasan peningkatan termasuk penyesuaian parameter dan peraturan kawalan risiko.


/*backtest
start: 2022-11-29 00:00:00
end: 2023-12-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Relative Strength Index", shorttitle="RSI")
slen    = input(55, title="Short length")
llen    = input(126, title="Long length")
sup     = ema(max(change(close), 0), slen)
sdown   = ema(-min(change(close), 0), slen)
rsi1    = sdown == 0 ? 100 : sup == 0 ? 0 : 100 - (100 / (1 + sup / sdown))
lup     = ema(max(change(close), 0), llen)
ldown   = ema(-min(change(close), 0), llen)
rsi2    = ldown == 0 ? 100 : lup == 0 ? 0 : 100 - (100 / (1 + lup / ldown))
ob      = input(55, title="Overbought")
os      = input(45, title="Oversold")
tp      = input(.9, title="Take profit level %")*.01
sl      = input(3, title="Stoploss level %")*.01
mid     = avg(ob,os)
plot    (mid, color=#4f4f4f, transp=0)
hline   (ob, color=#4f4f4f)
hline   (os, color=#4f4f4f)
long    = crossover(rsi1,rsi2)
short   = crossunder(rsi1,rsi2)
vall    = valuewhen(long,close,0)
lexit1  = high>=(vall*tp)+vall
lexit2  = low<=vall-(vall*sl)
vals    = valuewhen(short,close,0)
sexit1  = low<=vals - (vals*tp)
sexit2  = high>=vals + (vals*sl)
bgcolor (color=long?lime:na,transp=50)
bgcolor (color=short?red:na, transp=50)
strategy.entry("Long", strategy.long, when=long)
strategy.close("Long", when=lexit1)
strategy.close("Long", when=lexit2)
strategy.close("Long", when=short)
strategy.entry("Short", strategy.short, when=short)
strategy.close("Short", when=sexit1)
strategy.close("Short", when=sexit2)
strategy.close("Short", when=long)
plot    (rsi1, color=orange, transp=0,linewidth=1, title="Short period RSI")
plot    (rsi2, color=aqua  , transp=0,linewidth=1, title="Long period RSI")


Lebih lanjut