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.
Strategi ini berdasarkan dua penunjuk utama:
Bollinger Bands
Mengira band atas, tengah dan bawah. Isyarat beli dihasilkan apabila harga melanggar band bawah.
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.
Risiko boleh dikurangkan dengan:
Strategi ini boleh ditingkatkan dengan:
Mengoptimumkan parameter Bollinger Bands
Sesuaikan nisbah pengiraan atas/bawah untuk kesesuaian terbaik
Mengoptimumkan parameter Stoch RSI
Mencari nilai K dan D yang optimum
Menambah penunjuk pengesahan seperti MACD
Elakkan isyarat palsu yang bergantung pada satu penunjuk
Menggunakan hentian keuntungan terakhir dan bukannya hentian tetap
Perhentian laluan berdasarkan turun naik harga
Parameter ujian secara berasingan untuk produk yang berbeza
Parameter optimum berbeza-beza di antara produk yang berbeza
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")