Strategi ini adalah strategi perdagangan yang dirancang berdasarkan model deviasi standar ganda Bollinger Bands. Ini menggunakan rel atas dan bawah Bollinger Bands dan satu dan dua deviasi standar sebagai sinyal perdagangan.
Strategi pertama menghitung rel tengah, rel atas dan rel bawah Bollinger Bands. rel tengah adalah SMA dari CLOSE, rel atas adalah rel tengah + 2deviasi standar, dan rel bawah adalah rel tengah - 2strategi ini juga memetakan garis tengah rel + 1 standar deviasi dan tengah rel - 1 standar deviasi. mereka digunakan sebagai garis stop loss. logika spesifiknya adalah:
Secara umum, strategi ini adalah strategi breakout Bollinger Bands yang khas. Ini menggunakan deviasi standar ganda untuk meningkatkan kekakuan penilaian sinyal dan mengadopsi garis stop loss ganda untuk secara aktif mengendalikan risiko. Strategi ini memiliki beberapa ruang optimasi parameter. Dengan menyesuaikan parameter seperti periode rel tengah dan pengganda deviasi standar, kinerja strategi yang lebih baik dapat diperoleh. Pada saat yang sama, strategi ini juga menghadapi masalah umum dari breakout palsu dalam strategi Bollinger Bands. Selain itu, ada ruang untuk perbaikan dan optimasi 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)