
Strategi ini disebut strategi kuantitatif Bollinger yang didasarkan pada reversal band. Strategi ini menggunakan Bollinger Band untuk melakukan penilaian jual beli. Ketika harga saham berada di dekat relung band yang bergelombang dan ada tanda-tanda terobosan ke bawah, yang menunjukkan bahwa harga saham mungkin berada di saat yang tepat untuk berbalik, maka pembelian dilakukan; Ketika harga saham naik ke dekat relung band yang bergelombang, yang menunjukkan bahwa harga saham mungkin berbalik turun, maka penjualan dilakukan.
Strategi ini menggunakan indikator RSI untuk menentukan kapan harus membeli. Secara khusus, strategi ini menentukan apakah harga penutupan satu bar terakhir lebih rendah dari harga minimum 6 bar sebelumnya, dengan lebar bandwidth Brolin (BBW) lebih besar dari batas yang ditetapkan, dan rasio bandwidth Brolin (BBR) berada di antara kisaran yang ditetapkan. Jika kondisi ini terpenuhi, ini menunjukkan bahwa harga saham mungkin berada di saat yang tepat untuk berbalik, dan saat ini membeli untuk membuka posisi.
Exit lebih sederhana, ketika RSI lebih besar dari 70, menunjukkan bahwa harga saham terlalu panas, dan pada saat itu melakukan penjualan posisi kosong.
Keuntungan terbesar dari strategi ini adalah bahwa menggunakan Bollinger Bands untuk menilai tren naik dan turun, ketika Bollinger Bands berbalik, untuk membeli dan menjual, dapat menangkap kesempatan untuk berbalik dalam waktu singkat. Dibandingkan dengan strategi RSI sederhana, strategi ini lebih ketat dalam menentukan waktu untuk membeli, dapat menghindari probabilitas perdagangan yang salah.
Selain itu, strategi ini lebih sensitif terhadap parameter dan dapat dioptimalkan untuk varietas yang berbeda dengan menyesuaikan parameter BBW, BBR, sehingga mendapatkan hasil yang lebih baik.
Risiko utama dari strategi ini adalah bahwa Bollinger Bands tidak dapat memprediksi 100 persen dari harga yang akan berbalik, dan jika waktu yang tepat tidak ditentukan, sangat mudah untuk kehilangan waktu terbaik untuk membeli atau kerugian virtual.
Selain itu, volatilitas jangka pendek dalam harga saham dapat menyebabkan strategi sering membuka posisi dan melonggarkan posisi, meningkatkan biaya transaksi dan biaya slippage. Jika reversal tidak cukup kuat, ada risiko kehilangan posisi.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Parameter Optimasi. Parameter seperti BBW, BBR dapat diuji dan dioptimalkan dengan metode yang lebih halus, untuk memilih parameter optimal untuk varietas perdagangan yang berbeda.
Meningkatkan mekanisme stop loss. Anda dapat mengatur stop loss bergerak atau stop loss waktu untuk mengontrol kerugian maksimum.
Kombinasi dengan indikator lain. Dapat dikombinasikan dengan indikator lain seperti KDJ, MACD, dan lainnya untuk membuat sinyal pembelian lebih akurat dan dapat diandalkan.
Mekanisme keluar yang dioptimalkan. Mekanisme keluar yang ada saat ini lebih sederhana dan dapat dioptimalkan, misalnya dengan pengaturan stop-motion yang tepat, atau keluar dari situasi yang berfluktuasi.
Strategi ini memanfaatkan karakteristik Bollinger Bands untuk menilai kapan harga mungkin berbalik, melakukan pembelian dan penjualan. Strategi ini menilai waktu lebih akurat dibandingkan dengan indikator seperti RSI tunggal. Strategi ini dapat dibuat lebih andal dengan mengoptimalkan parameter dan pengaturan stop loss dan stop loss.
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//study(title = "Bolinger strategy", overlay=true)
strategy("Bolinger strategy",currency="SEK",default_qty_value=10000,default_qty_type=strategy.cash,max_bars_back=50)
len = 5
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
bbw3level = input(15, title="bbw3")
bbr3level = input(0.45, title="bbr3level")
bbrlower = input(0.4480, title="bbrlower")
bbrhigher = input(0.4560, title="bbrhigher")
sincelowestmin = input(7, title="sincelowestmin")
sincelowestmax = input(57, title="sincelowestmax")
length = input(20, minval=1)
mult = 20
src3 = close[3]
basis3 = sma(src3, length)
dev3 = mult * stdev(src3, length)
upper3 = basis3 + dev3
lower3 = basis3 - dev3
bbr3 = (src3 - lower3)/(upper3 - lower3)
bbw3 = (upper3-lower3)/basis3*100
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
bbw = (upper-lower)/basis*100
criteriamet = 0
crossUnderB0 = crossunder(bbr,0)
since_x_under = barssince(crossUnderB0)
sincelowest = barssince(close[6] > close[3] and close[5] > close[3] and close[4] > close[3] and close[2] > close[3] and close[1] > close[3] and close > close[3] and bbw3 > bbw3level and bbr3 < bbr3level) // and bbr3 < 0
if sincelowest > sincelowestmin and sincelowest < sincelowestmax and bbr > bbrlower and bbr < bbrhigher
criteriamet := 1
else
criteriamet := 0
//plot (criteriamet)
//exit
exitmet = 0
if rsi > 70
exitmet := 1
else
exitmet := 0
if criteriamet == 1
strategy.entry("long", strategy.long)
if exitmet == 1
strategy.close("long")