Strategi Double Bollinger Bands Breakout adalah strategi trend following. Strategi ini menggunakan band atas dan bawah Bollinger Bands untuk menilai tren harga dan menetapkan posisi long ketika harga menembus Bollinger Bands bagian dalam dan menutup posisi ketika harga turun di bawah Bollinger Bands bagian luar.
Strategi ini pertama-tama menghitung rata-rata bergerak dan standar deviasi selama periode tertentu. kemudian membangun Bollinger Band ganda menggunakan rata-rata bergerak ± satu standar deviasi untuk band dalam dan rata-rata bergerak ± 1,5 standar deviasi untuk band luar.
Ketika harga menembus band bagian dalam atas, itu menunjukkan bahwa pasar mulai bull run jadi pergi panjang. Ketika harga turun di bawah band bagian dalam bawah, itu menunjukkan awal pasar bear jadi pergi pendek.
Keuntungan mengambil keluar untuk posisi panjang adalah ketika harga turun di bawah band luar bawah. Keuntungan mengambil keluar untuk posisi pendek adalah ketika harga melanggar band luar atas.
Strategi ini juga menetapkan stop loss, take profit dan trailing stop loss exit.
Strategi Double Bollinger Bands Breakout memiliki keuntungan berikut:
Strategi Double Bollinger Bands Breakout juga memiliki beberapa risiko:
Untuk mengatasi risiko ini, parameter dapat disesuaikan, filter tambahan ditambahkan, atau kebocoran dipantau secara manual untuk mengurangi risiko.
Strategi Double Bollinger Bands Breakout dapat dioptimalkan dengan beberapa cara:
Strategi Double Bollinger Bands Breakout secara keseluruhan menilai perubahan harga relatif terhadap Bollinger Bands ke entri waktu dalam pendekatan trend berikut yang khas. Strategi menetapkan target keuntungan menggunakan band ganda dan mekanisme keluar ilmiah untuk mengendalikan risiko. Dengan parameter dan kontrol risiko yang dioptimalkan, 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)