
RSI-BB momentum breakout strategi adalah kombinasi dari indikator relatif kuat (RSI) dan indikator Bollinger Bands (BB). Strategi ini menggunakan RSI untuk menentukan tren pasar dan overbought oversold, menggunakan BB untuk menentukan breakout, dan melakukan pembelian atau penjualan yang sesuai ketika RSI dan BB sinyal untuk membeli atau menjual pada saat yang sama.
Kode pertama menghitung RSI dan BB.
RSI dihitung sebagai berikut:
up = rma(max(change(close), 0), 30)
down = rma(-min(change(close), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
Dalam hal ini up menunjukkan kenaikan harga akhir 30 hari terakhir, down menunjukkan penurunan harga akhir 30 hari terakhir, rsi dihitung berdasarkan rasio kenaikan dan penurunan.
BB dihitung sebagai berikut:
basis = sma(close, 50)
dev = 0.2 * stdev(close, 50)
upper = basis + dev
lower = basis - dev
Basis adalah 50 hari rata-rata, dev adalah 0,2 kali standar deviasi, dan upper dan lower adalah garis tengah dan bawah.
bbi adalah indeks bandwidth Brin, yang dihitung sebagai berikut:
bbr = close>upper? 1 : close<lower? -1 : 0
bbi = bbr - bbr[1]
bbr menilai apakah close saat ini telah menembus ke atas atau ke bawah, penembusan adalah 1, penembusan adalah -1, atau 0 . BBI adalah bbr saat ini dikurangi bbr periode sebelumnya, lebih besar dari 0 berarti penembusan ke atas, kurang dari 0 berarti penembusan ke bawah .
Setelah menghitung RSI dan BBI, logika penilaian sinyal perdagangan strategi adalah:
long = rsi>52 and rsi<65 and bbi>0.11 and bbi<0.7
short = rsi<48 and rsi>35 and bbi<-0.11 and bbi>-0.7
Ini adalah ketika RSI berada di kisaran 52-65 dan BBI lebih besar dari 0,11 lebih kecil dari 0,7; ketika RSI berada di kisaran 35-48 dan BBI lebih kecil dari -0,11 lebih besar dari -0,7 maka lakukan shorting.
Kombinasi RSI dan BB dapat digunakan untuk menentukan titik jual. RSI untuk menentukan overbought dan oversold, BB untuk menentukan breakout, keduanya lebih dapat diandalkan.
Parameter RSI disetel ke garis 30 hari untuk menyaring kebisingan pasar dan mengidentifikasi tren utama.
Parameter BB disetel ke garis 50 hari dan 0,2 kali standar deviasi, yang dapat berperan dalam efek gesekan filter.
BBI menambahkan kondisi penyaringan 0.11 dan 0.7 untuk filter penembusan palsu.
RSI melakukan lebih banyak posisi kosong di 52-65 dan 35-48, menambahkan buffer untuk menghindari kehilangan titik jual beli.
Strategi penembusan mudah ditiru, dan Anda perlu mengatur stop loss untuk mengendalikan risiko.
Data deteksi mungkin ada over-fit, dan efek disk mungkin berbeda.
Pasar dapat berubah secara drastis, menyebabkan stop loss yang ditembus menghasilkan kerugian besar.
Parameter RSI dan BB yang perlu dioptimalkan, termasuk parameter siklus dan parameter interval jual beli.
Pengaturan harga pesanan juga memiliki pengaruh besar pada efek disk.
Uji kombinasi parameter RSI dan BB yang berbeda untuk menemukan parameter optimal.
Tambahkan indikator lain untuk menilai sinyal penyaringan, seperti MACD, KD, dll.
Optimalkan dan sesuaikan parameter interval RSI untuk perdagangan, dan kurangi interval untuk memfilter lebih banyak kebisingan.
Mengoptimalkan parameter filter BBI, mengatur filter bolak-balik dalam interval dinamis.
Menambahkan indikator untuk menilai tren, menghindari operasi berlawanan arah.
Uji coba berbagai metode stop loss untuk mencari solusi stop loss yang paling dapat ditarik kembali.
Uji coba berbagai metode pemesanan untuk mencari skema pemesanan yang memiliki dampak slip point paling sedikit.
Strategi RSI-BB dinamis menggabungkan keuntungan dari penilaian tren dan penilaian breakout margin, dan bekerja dengan baik dalam retracement. Namun, efek real-time dapat dipengaruhi oleh slippage dan stop loss. Parameter perlu dioptimalkan untuk hasil retracement, dan uji coba dengan berbagai stop loss dan order untuk menemukan pengaturan yang lebih cocok untuk real-time. Selain itu, parameter dan kondisi penyaringan perlu disesuaikan secara dinamis untuk menanggapi perubahan pasar.
/*backtest
start: 2023-10-03 00:00:00
end: 2023-11-02 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy(title="Spyfrat Strat", shorttitle="SpyfratStrat", overlay=true)
src = close,
// BB Init
source = close
length = input(50, minval=1)
mult = input(0.2, title="Mult Factor", minval=0.001, maxval=50)
alertLevel=input(0.1)
impulseLevel=input(0.75)
showRange = input(false, type=bool)
//RSI CODE
up = rma(max(change(src), 0), 30)
down = rma(-min(change(src), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//BB CODE
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
bbr = source>upper?(((source-upper)/(upper-lower))/10): source<lower?(((source-lower)/(upper-lower))/10) : 0.1
bbi = bbr - nz(bbr[1])
//Rule
long = rsi>52 and rsi<65 and bbi>0.11 and bbi<0.7
short = rsi<48 and rsi>35 and bbi<-0.11 and bbi>-0.7
//Trade Entry
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)
//Trade Exit
TP = input(250) * 10
SL = input(20) * 10
TS = input(0) * 10
CQ = 100
TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)