
Strategi ini adalah berdasarkan pada RSI dan Bollinger Bands Design Trading Rules, untuk mendapatkan keuntungan dalam pasaran yang sedang tren. Berdagang lebih banyak apabila RSI berada di bawah garis overbought dan harga mendekati Bollinger Bands Down; Berdagang kosong apabila RSI berada di atas garis oversold dan harga mendekati Bollinger Bands Down, ini adalah logik perdagangan asas strategi ini.
Strategi ini menggunakan RSI untuk menentukan kawasan overbought dan oversold. RSI di bawah garis overbought yang ditetapkan adalah isyarat oversold, dan di atas garis oversold adalah isyarat overbought. Ia juga menggunakan indikator Bollinger Bands untuk menentukan harga pecah.
Strategi ini menggunakan RSI untuk menentukan kehendak pasaran dan harga Bollinger Bands untuk memutuskan dua faktor untuk membuat keputusan perdagangan. Hanya apabila kedua-duanya memenuhi syarat, isyarat perdagangan dikeluarkan, yang dapat menyaring beberapa isyarat palsu dengan berkesan, meningkatkan keberkesanan strategi.
Strategi ini menggabungkan dua indikator RSI dan Bollinger Bands, yang dapat menentukan pergerakan pasaran dan menangkap trend dengan lebih tepat. Dibandingkan dengan strategi indikator tunggal, lebih banyak isyarat palsu dapat disaring, dan kualiti isyarat lebih tinggi.
Strategi ini hanya membuka kedudukan apabila RSI dan indikator Brin mendedahkan isyarat pada masa yang sama, yang berkesan untuk mengelakkan gangguan isyarat palsu. Ia juga digabungkan dengan hentian kerugian untuk mengawal risiko, walaupun perubahan harga dapat dihentikan tepat pada masanya.
Walaupun strategi ini dapat menyaring beberapa isyarat palsu, dalam keadaan goyah, RSI dan indikator Bollinger Bands mungkin menghantar isyarat yang salah pada masa yang sama, menyebabkan kerugian yang tidak perlu. Selain itu, parameter yang tidak betul dapat menyebabkan strategi tidak berkesan.
Adalah disyorkan untuk mencari kombinasi parameter yang paling baik dengan mengkaji semula parameter pengoptimuman. Pada masa yang sama, peraturan strategi disesuaikan dengan betul, berhenti berdagang dalam keadaan gegaran, untuk mengelakkan kerugian yang tidak perlu.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter RSI dan parameter Brin untuk mencari kombinasi parameter terbaik
Menambah petunjuk lain sebagai isyarat penapis, seperti MACD, KD dan sebagainya
Meningkatkan mekanisme pengesahan penembusan untuk mengelakkan penembusan palsu
Menyesuaikan parameter atau menghentikan dagangan mengikut jenis situasi
Mengoptimumkan strategi henti rugi untuk mencapai henti rugi dinamik
Strategi ini menggabungkan RSI dan Bollinger Bands dengan peraturan reka bentuk perdagangan, hanya apabila kedua-duanya mengeluarkan isyarat serentak, ia dapat menyaring isyarat palsu dengan berkesan. Dengan cara pengoptimuman parameter, penyaringan isyarat tambahan, dan pengoptimuman strategi hentikan kerugian, strategi ini dapat terus dioptimumkan dan diperbaiki untuk mencapai keuntungan yang lebih stabil.
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Get Funded Easily by mjanusic", shorttitle="FTMO Crusher by mjanusic", overlay=true)
///////////// RSI
RSIlength = input(16, title="RSI Period Length")
RSIvalue = input(45, title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = ta.rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(20, title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyCondition = ta.crossover(vrsi, RSIoverSold) and ta.crossover(source, BBlower)
sellCondition = ta.crossunder(vrsi, RSIoverBought) and ta.crossunder(source, BBupper)
///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
if (buyCondition)
strategy.entry("Long Entry", strategy.long, stop=BBlower, comment="Long Entry")
else
strategy.cancel(id="Long Entry")
if (sellCondition)
strategy.entry("Short Entry", strategy.short, stop=BBupper, comment="Short Entry")
else
strategy.cancel(id="Short Entry")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_area)