RSI Bollinger Bands Strategi Perdagangan

Penulis:ChaoZhang, Tarikh: 2024-01-24 14:56:02
Tag:

img

Ringkasan

Strategi ini terutamanya menggunakan Indeks Kekuatan Relatif (RSI) digabungkan dengan Bollinger Bands untuk penilaian isyarat perdagangan. Khususnya, ia pergi lama apabila RSI melintasi di atas tahap oversold dan di bawah Bollinger Band bawah, dan pergi pendek apabila RSI melintasi di bawah tahap overbought dan di atas Bollinger Band atas.

Logika Strategi

Strategi ini pertama kali mengira penunjuk RSI dan Bollinger Bands. Penunjuk RSI mencerminkan kekuatan relatif instrumen perdagangan. Apabila RSI berada di bawah zon oversold (default 30), ia bermakna instrumen itu oversold dan harus membeli. Bollinger Bands termasuk band atas, band tengah dan band bawah, yang mencerminkan julat turun naik harga dengan baik. Membeli berhampiran band bawah dan menjual berhampiran band atas boleh memberikan isyarat yang agak boleh dipercayai. Strategi ini menggabungkan penunjuk RSI dan Bollinger Bands untuk penilaian isyarat perdagangan. Ia menghasilkan isyarat beli apabila RSI naik dari zon oversold ke atasnya (default 30), dan harga naik dari band bawah ke atasnya; ia menghasilkan isyarat jual apabila RSI jatuh dari zon overbought ke bawahnya (default 70), dan harga turun dari band atas ke bawahnya.

Kelebihan

  1. Menggabungkan RSI dan Bollinger Bands meningkatkan ketepatan isyarat
  2. RSI menapis keluar beberapa bunyi
  3. Bollinger Bands mencerminkan julat turun naik pasaran semasa, isyarat yang boleh dipercayai
  4. Peraturan perdagangan yang ketat, mengelakkan perdagangan yang tidak sah

Risiko

  1. Parameter Bollinger Bands yang tidak betul boleh menyebabkan isyarat yang tidak tepat
  2. Peraturan zon overbought/oversold RSI yang tidak sesuai boleh memberi kesan kepada penilaian
  3. Strategi yang ketat, mungkin terlepas beberapa peluang

Penyelesaian:

  1. Mengoptimumkan Bollinger Bands dan parameter RSI untuk mencari kombinasi terbaik
  2. Relaksasi syarat-syarat secara sederhana, membenarkan beberapa perdagangan tidak sah untuk lebih banyak peluang

Arahan pengoptimuman

  1. Uji dan mengoptimumkan RSI dan Bollinger parameter untuk optimum
  2. Tambah stop loss untuk mengawal risiko
  3. Pertimbangkan untuk menambah penunjuk lain seperti MACD untuk pengesahan isyarat
  4. Hasil pengoptimuman ujian di pelbagai produk dan jangka masa

Ringkasan

Strategi keseluruhan adalah kukuh, secara berkesan menggabungkan RSI dan Bollinger Bands untuk menghentikan kerugian. Penambahbaikan lanjut dapat dicapai dengan menguji dan mengoptimumkan parameter. Juga perlu menyedari potensi risiko kehilangan isyarat kerana peraturan yang ketat. Secara umum, ini adalah strategi perdagangan kuantitatif yang boleh dipercayai.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BB + RSI 20MIN,", shorttitle="BBRSI 20MIN", overlay=true )
     
     // Strategy Tester Start Time
sYear = input(2019, title = "Start Year")
sMonth = input(04, title = "Start Month", minval = 01, maxval = 12)
sDay = input(01, title = "Start Day", minval = 01, maxval = 31)
sHour = input(00, title = "Start Hour", minval = 00, maxval = 23)
sMinute = input(00, title = "Start Minute", minval = 00, maxval = 59)
startTime = true


///////////// RSI
RSIlength = input(9,title="RSI Period Length") 
RSIoverSold = input(30, minval=1,title="RSIL")
RSIoverBought = input(69, minval=1,title="RSIh")
price = open
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(60, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bb")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line")
fill(p1, p2)


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long and startTime, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short and startTime, stop=BBupper,comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Lebih lanjut