Strategi ini adalah strategi dagangan yang direka berdasarkan model deviasi standard ganda Bollinger Bands. Ia menggunakan rel atas dan bawah Bollinger Bands dan satu dan dua deviasi standard sebagai isyarat dagangan. Ia pergi lama apabila harga menembusi rel atas dan pergi pendek apabila harga menembusi rel bawah. Strategi ini juga menggunakan satu dan dua deviasi standard sebagai garis stop loss.
Strategi pertama mengira rel tengah, rel atas dan rel bawah Bollinger Bands. rel tengah adalah SMA CLOSE, rel atas adalah rel tengah + 2Penyimpangan standard, dan rel bawah adalah rel tengah - 2Apabila harga memecahkan rel atas, isyarat beli dihasilkan untuk pergi panjang. Apabila harga memecahkan rel bawah, isyarat jual dihasilkan untuk pergi pendek. Di samping itu, strategi ini juga memetakan garis rel tengah + 1 penyimpangan standard dan rel tengah - 1 penyimpangan standard. Mereka digunakan sebagai garis stop loss. Logik khusus adalah:
Secara amnya, strategi ini adalah strategi breakout Bollinger Bands yang biasa. Ia menggunakan penyimpangan standard berganda untuk meningkatkan ketegasan penghakiman isyarat dan mengamalkan garis stop loss berganda untuk mengawal risiko secara aktif. Strategi ini mempunyai beberapa ruang pengoptimuman parameter. Dengan menyesuaikan parameter seperti tempoh rel tengah dan pengganda penyimpangan standard, prestasi strategi yang lebih baik dapat diperoleh. Pada masa yang sama, strategi ini juga menghadapi masalah biasa penyimpangan palsu dalam strategi Bollinger Bands. Di samping itu, terdapat ruang untuk peningkatan dan pengoptimuman lebih lanjut dalam mekanisme stop loss.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0 // This displays the traditional Bollinger Bands, the difference is // that the 1st and 2nd StdDev are outlined with two colors and two // different levels, one for each Standard Deviation strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true) src = input(close) length = input.int(34, minval=1) mult = input.float(2.0, minval=0.001, maxval=50) basis = ta.sma(src, length) dev = ta.stdev(src, length) dev2 = mult * dev upper1 = basis + dev lower1 = basis - dev upper2 = basis + dev2 lower2 = basis - dev2 colorBasis = src >= basis ? color.blue : color.orange pBasis = plot(basis, linewidth=2, color=colorBasis) pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles) pUpper2 = plot(upper2, color=color.new(color.blue, 0)) pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles) pLower2 = plot(lower2, color=color.new(color.orange, 0)) fill(pBasis, pUpper2, color=color.new(color.blue, 80)) fill(pUpper1, pUpper2, color=color.new(color.blue, 80)) fill(pBasis, pLower2, color=color.new(color.orange, 80)) fill(pLower1, pLower2, color=color.new(color.orange, 80)) // Entry conditions longCondition = ta.crossover(close, upper1) shortCondition = ta.crossunder(close, lower1) // Entry and exit strategy strategy.entry("Buy", strategy.long, when=longCondition) strategy.entry("Sell", strategy.short, when=shortCondition) strategy.close("Buy", when=shortCondition) strategy.close("Sell", when=longCondition)