Die Double Bollinger Bands Breakout-Strategie ist eine Trendfolgestrategie. Sie verwendet die oberen und unteren Banden der Bollinger Bands, um Preistrends zu beurteilen und Long-Positionen zu etablieren, wenn die Preise die inneren Bollinger Bands durchbrechen und Positionen schließen, wenn die Preise unter die äußeren Bollinger Bands fallen.
Die Strategie berechnet zunächst den gleitenden Durchschnitt und die Standardabweichung über einen bestimmten Zeitraum und konstruiert anschließend die doppelten Bollinger Bands unter Verwendung des gleitenden Durchschnitts ± 1 Standardabweichung für die inneren Bands und des gleitenden Durchschnitts ± 1,5 Standardabweichungen für die äußeren Bands.
Wenn die Preise über das obere Innenband brechen, zeigt dies an, dass der Markt einen Bullenlauf beginnt, also geht er lang.
Der Gewinn beim Ausstieg für Long-Positionen erfolgt, wenn die Preise unter das untere äußere Band fallen.
Die Strategie legt auch Stop-Loss, Take-Profit und Trailing-Stop-Loss-Ausgänge fest.
Die Double Bollinger Bands Breakout-Strategie hat folgende Vorteile:
Die Double Bollinger Bands Breakout-Strategie birgt ebenfalls einige Risiken:
Um diesen Risiken entgegenzuwirken, könnten Parameter angepasst, zusätzliche Filter hinzugefügt oder Ausbrüche manuell überwacht werden, um das Risiko zu reduzieren.
Die Strategie des Breakouts mit doppelten Bollinger-Bändern kann auf verschiedene Weise optimiert werden:
Die Double Bollinger Bands Breakout-Strategie beurteilt insgesamt die Preisänderungen im Verhältnis zu Bollinger Bands zu Zeiteinträgen in einem typischen Trend-nachfolgenden Ansatz. Die Strategie setzt Gewinnziele mit den doppelten Bands und wissenschaftlichen Ausstiegsmechanismen zur Risikokontrolle. Mit optimierten Parametern und Risikokontrollen kann sie gute Ergebnisse erzielen.
/*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)