Strategi Perdagangan Bollinger Band dan Stoch RSI

Penulis:ChaoZhang, Tarikh: 2023-09-21 21:02:02
Tag:

Ringkasan

Strategi ini menggabungkan indikator Bollinger Bands dan Stoch RSI untuk perdagangan pelbagai indikator. Ia tergolong dalam jenis strategi indikator gabungan biasa. Bollinger Bands menentukan arah trend dan Stoch RSI mengoptimumkan masa masuk untuk isyarat perdagangan.

Logika Strategi

Strategi ini berdasarkan dua penunjuk utama:

  1. Bollinger Bands

    Mengira band atas, tengah dan bawah. Isyarat beli dihasilkan apabila harga melanggar band bawah.

  2. Stoch RSI

    Mengira penunjuk Stoch RSI. Isyarat beli dihasilkan apabila garis K melintasi di atas garis D.

Logik dagangan khusus adalah: buka panjang apabila kedua-dua breakout bawah Bollinger Bands dan persilangan emas Stoch RSI berlaku bersama.

Logik keluar menggunakan band untuk mengambil keuntungan dan menghentikan kerugian: tutup untuk keuntungan apabila harga menyentuh band atas atau tengah lagi, tutup untuk kerugian apabila harga kembali di bawah band bawah.

Kelebihan

  • Menggabungkan Bollinger Bands dan Stoch RSI
  • Band menilai trend keseluruhan, Stoch RSI mengoptimumkan kemasukan
  • Stoch RSI menapis pecah band palsu
  • Band tengah dan bawah menyediakan pintu keluar
  • Pelbagai parameter yang boleh diselaraskan untuk pengoptimuman

Risiko

  • Penunjuk berasaskan MA kelewatan, kekurangan entri terbaik
  • Hanya didorong oleh penunjuk, tindak balas perlahan terhadap peristiwa tiba-tiba
  • Tetapan jalur yang tidak betul membatalkan berhenti
  • Parameter RSI Stoch yang buruk menghasilkan isyarat palsu
  • Penyesuaian parameter yang berasingan diperlukan untuk produk yang berbeza

Risiko boleh dikurangkan dengan:

  • Mengoptimumkan parameter untuk ketepatan yang lebih tinggi
  • Menambah penapis pengesahan seperti MACD
  • Menggunakan hentian belakang dan bukannya hentian band
  • Parameter ujian untuk produk yang berbeza
  • Sistem penyesuaian saiz kedudukan

Arahan Peningkatan

Strategi ini boleh ditingkatkan dengan:

  1. Mengoptimumkan parameter Bollinger Bands

    Sesuaikan nisbah pengiraan atas/bawah untuk kesesuaian terbaik

  2. Mengoptimumkan parameter Stoch RSI

    Mencari nilai K dan D yang optimum

  3. Menambah penunjuk pengesahan seperti MACD

    Elakkan isyarat palsu yang bergantung pada satu penunjuk

  4. Menggunakan hentian keuntungan terakhir dan bukannya hentian tetap

    Perhentian laluan berdasarkan turun naik harga

  5. Parameter ujian secara berasingan untuk produk yang berbeza

    Parameter optimum berbeza-beza di antara produk yang berbeza

Ringkasan

Strategi ini memanfaatkan Bollinger Bands untuk arah trend dan Stoch RSI untuk pengoptimuman kemasukan, memanfaatkan pendekatan pelbagai penunjuk. Tetapi cabaran seperti pengoptimuman parameter yang sukar dan ketepatan isyarat wujud. Ujian balik yang ketat untuk pengoptimuman parameter, menambah penapis, dan terus menyesuaikan peraturan berdasarkan hasil dapat meningkatkan ketepatan sambil mengekalkan kekuatan sistem gabungan. Pengoptimuman berterusan membawa kepada ketahanan.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "BB+RSI v2", overlay = true)

price=close
////////// ///////  BB /////////////////////////

bblength = input(50)
bbupmult =input(2,step=0.1,title="Multiplier for BB Upper Band")
bblowmult = input(2,step=0.1,title="Multiplier for BB Lower Band")

basis =  sma(close,bblength)

devup = bbupmult * stdev(close, bblength)
devlow = bblowmult * stdev(close, bblength)

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)


bbbuy= crossover(price,lower)
bbsell = crossunder(price,upper) or price>upper or crossunder(price,basis)



//////////////////// BB //////////////////////




////////////////////////  S RSI  /////////////////////

lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 70 )
vrsi = rsi(price, lengthrsi)

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)

SRSIbuy=crossover(k,d)

////////////////////// S  RSI  ///////////////////////

// Conditions



longcond = bbbuy and SRSIbuy
closelong = bbsell


monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longcond ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( closelong  ) 

    strategy.close("BUY")







Lebih lanjut