Die Dual Bollinger Band Volatility Tracking Strategie ist eine quantitative Handelsstrategie, die die Preisvolatilität erfasst, indem sie doppelte Bollinger Bands zum Tracking erstellt.
Die Strategie berechnet zunächst den N-Tage- gleitenden Durchschnitt als Basislinie, berechnet dann die oberen und unteren Schienen auf der Grundlage von Vielfachen der Standardabweichung, um die Bollinger-Bänder zu konstruieren. Die Strategie verwendet doppelte Bollinger-Bänder, bei denen sowohl die oberen als auch die unteren Schienen Vielfache der Standardabweichung sind. Sobald die doppelten Bollinger-Bänder gebildet sind, wird ein Kaufsignal ausgelöst, wenn der Preis durch die obere Schiene bricht, und ein Verkaufssignal wird ausgelöst, wenn der Preis durch die untere Schiene bricht, um Preisvolatilitätschancen auf den Bollinger-Bändern zu erfassen.
Die Strategie legt auch ein Zeitfenster fest, um den Backtest stärker zu zielen und zu verhindern, dass frühe Daten die Testergebnisse beeinflussen.
Der größte Vorteil dieser Strategie besteht darin, dass sie die Preisvolatilität in Echtzeit erfassen kann, indem sie die oberen und unteren Schienen der Bollinger-Bänder durchbricht, um die OPERATION-Richtung zu bestimmen. Im Vergleich zu anderen Indikatoren reagieren Bollinger-Bänder sensibler auf den Markt und können innerhalb kürzerer Zeit Handelssignale bilden. Darüber hinaus setzen die doppelten Bollinger-Bänder einen breiteren Kanal, so dass die Wahrscheinlichkeit eines Preisbruchs größer ist, so dass die Strategie mehr Handelsmöglichkeiten erfassen kann.
Die wichtigsten Risiken dieser Strategie liegen in den Parameter-Einstellungen der N-Tage-Periode und den Standardabweichungsmultiplen, die die Bollinger-Bänder bilden. Wenn die Parameter nicht angemessen eingestellt werden, führt dies zu Bollinger-Bändern, die zu breit oder zu eng sind, wodurch Handelsmöglichkeiten verpasst oder falsche Signale generiert werden.
Die Lösungen bestehen darin, die Parameter zu optimieren und die Form der Bollinger-Bänder in Echtzeit zu bewerten; außerdem sind Stop-Loss-Strategien auf der Grundlage historischer Daten zu erstellen, um Einzelverluste zu kontrollieren.
Die wichtigsten Optimierungsaspekte für diese Strategie:
Optimierung der Parameter der Bollinger-Bänder, Anpassung der N-Tage-Periode und der Standardabweichungsmultiplikatoren an die unterschiedlichen Marktmerkmale.
Erhöhung der Mechanismen zur Erneuerung von Aufträgen, um zusätzliche Aufträge zu erteilen, nachdem ein gewisser Gewinn aus den ursprünglichen Aufträgen erzielt wurde, um den Gewinnraum zu erweitern.
Setzen Sie Stop-Loss-Strategien ein, um Positionen zu verlassen, wenn die Preise die oberen oder unteren Schienen der Bollinger-Bänder in ungünstige Richtungen durchbrechen und Verluste kontrollieren.
Einbeziehung anderer Indikatoren zur Überwachung von Signalen und Vermeidung falscher Signale in volatilen Märkten.
Die Dual Bollinger Band Volatility Tracking Strategie erfasst die Preisvolatilität in Echtzeit, indem sie doppelseitige Bollinger Bands konstruiert und in der Lage ist, mehr kurzfristige Handelsmöglichkeiten zu nutzen. Die Vorteile dieser Strategie sind die Sensibilität für Marktveränderungen und die schnelle Signalgenerierung. Die wichtigsten Risiken stammen aus unangemessenen Parameter-Einstellungen und dem Mangel an Stop Loss. Wir können die Strategie durch multidimensionale Optimierung stabiler und effizienter machen.
/*backtest start: 2022-12-18 00:00:00 end: 2023-12-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("BB_BB", overlay=true,default_qty_type=strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) length = input(20, minval=1) src = input(close, title="Source") mult = input(2.0, minval=0.001, maxval=50) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2017, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev plot(basis, color=red) p1 = plot(upper, color=blue) p2 = plot(lower, color=blue) fill(p1, p2) buy = crossover(sma(close,1), upper) or crossover(sma(close,1), lower) sell = crossunder(sma(close,1), upper) or crossunder(sma(close,1), lower) if(buy) strategy.entry("BUY", strategy.long, when = window()) if(sell) strategy.entry("SELL", strategy.short, when = window())