Strategi Double Bollinger Bands Breakout adalah strategi trend berikut. Ia menggunakan band atas dan bawah Bollinger Bands untuk menilai trend harga dan menubuhkan kedudukan panjang apabila harga menembusi Bollinger Bands dalaman dan menutup kedudukan apabila harga jatuh di bawah Bollinger Bands luar.
Strategi ini mula-mula mengira purata bergerak dan penyimpangan piawai dalam tempoh tertentu. Kemudian ia membina Bollinger Bands berganda menggunakan purata bergerak ± satu penyimpangan piawai untuk jalur dalaman dan purata bergerak ± 1.5 penyimpangan piawai untuk jalur luar.
Apabila harga pecah di atas band dalaman atas, ia menunjukkan bahawa pasaran memulakan bull run jadi pergi panjang. Apabila harga jatuh di bawah band dalaman bawah, ia menunjukkan permulaan pasaran beruang jadi pergi pendek.
Keuntungan mengambil keluar untuk kedudukan panjang adalah apabila harga jatuh di bawah band luar bawah. Keuntungan mengambil keluar untuk kedudukan pendek adalah apabila harga memecahkan di atas band luar atas.
Strategi ini juga menetapkan stop loss, mengambil keuntungan dan penyingkiran stop loss.
Strategi Double Bollinger Bands Breakout mempunyai kelebihan berikut:
Strategi Double Bollinger Bands Breakout juga mempunyai beberapa risiko:
Untuk menangani risiko ini, parameter boleh diselaraskan, penapis tambahan ditambah, atau pecah secara manual dipantau untuk mengurangkan risiko.
Strategi Double Bollinger Bands Breakout boleh dioptimumkan dengan beberapa cara:
Strategi Double Bollinger Bands Breakout secara keseluruhan menilai perubahan harga berbanding dengan Bollinger Bands ke entri masa dalam pendekatan trend berikut yang tipikal. Strategi menetapkan sasaran keuntungan menggunakan jalur ganda dan mekanisme keluar saintifik untuk mengawal risiko. Dengan parameter dan kawalan risiko yang dioptimumkan, ia dapat mencapai hasil yang baik.
/*backtest start: 2023-12-17 00:00:00 end: 2023-12-24 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("BB Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true) l=input(title="length",defval=100) pbin=input(type=float,step=.1,defval=.25) pbout=input(type=float,step=.1,defval=1.5) ma=sma(close,l) sin=stdev(ma,l)*pbin sout=stdev(ma,l)*pbout inu=sin+ma inb=-sin+ma outu=sout+ma outb=-sout+ma plot(inu,color=lime) plot(inb,color=lime) plot(outu,color=red) plot(outb,color=yellow) inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na longCondition = close>inu and rising(outu,1) exitlong = (open[1]>outu and close<outu) or crossunder(close,ma) shortCondition = close<inb and falling(outb,1) exitshort = (open[1]<outb and close>outb) or crossover(close,ma) strategy.entry(id = "Long", long=true, when = longCondition) strategy.close(id = "Long", when = exitlong) strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong) strategy.entry(id = "Short", long=false, when = shortCondition) strategy.close(id = "Short", when = exitshort) strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)