Die Strategie basiert auf dem Bollinger Bands-Indikator. Sie erfasst Markttrends, indem sie kurz geht, wenn der Preis das obere Band berührt, und lang geht, wenn er das untere Band berührt. Darüber hinaus führt die Strategie das Konzept der Pyramide ein, bei der sie weiterhin Positionen in der ursprünglichen Richtung hinzufügt, wenn die Anzahl der Positionen das festgelegte Maximum nicht erreicht hat.
Bollinger-Bänder bestehen aus drei Linien. Das mittlere Band ist der einfache gleitende Durchschnitt des Schlusskurses. Die oberen und unteren Bande sind eine bestimmte Anzahl von Standardabweichungen über und unter dem mittleren Band. Da die Preise immer um das Mittel schwanken, können die oberen und unteren Bande der Bollinger-Bänder als Druckbereich für die Preise betrachtet werden. Wenn der Preis durch das obere Band bricht, zeigt dies einen starken Aufwärtstrend an und eine lange Position kann eingenommen werden; ein Bruch unterhalb des unteren Bandes zeigt einen starken Abwärtstrend an und eine kurze Position kann eingenommen werden.
Die Strategie nutzt die Trendmerkmale von Bollinger Bands. Durch den Eintritt in Positionen, wenn der Preis die oberen und unteren Bands berührt, und die Verstärkung der Intensität der Trend-Erfassung durch Pyramiden ist die Gesamtidee einfach und effektiv. Allerdings hat sie auch eine gewisse Verzögerung und Parameterempfindlichkeit. In praktischen Anwendungen muss auf die Optimierung von Parametern und Positionsmanagement geachtet werden.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Breakout Strategy", overlay=true) // Définition des paramètres length = input(20, title="Bollinger Bands Length") multiplier = input(2.0, title="Multiplier") pyramiding = input(5, title="Pyramiding") // Calcul des bandes de Bollinger basis = ta.sma(close, length) dev = multiplier * ta.stdev(close, length) upper_band = basis + dev lower_band = basis - dev // Règles d'entrée buy_signal = close <= lower_band sell_signal = close >= upper_band // Gestion des positions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Pyramiding if (strategy.opentrades < pyramiding) strategy.entry("Buy", strategy.long) else if (strategy.opentrades > pyramiding) strategy.entry("Sell", strategy.short) // Tracé des bandes de Bollinger plot(basis, color=color.blue) plot(upper_band, color=color.red) plot(lower_band, color=color.green)