
Eine Bollinger Bands-Tracking-Strategie ist eine auf Bollinger Bands basierende, quantitative Handelsstrategie, bei der der Bollinger Band für eine bestimmte Aktie berechnet wird und die Kauf- und Verkaufskonditionen festgelegt werden, um den Markt zu verfolgen. Wenn der Preis die Bollinger Bands berührt, wird davon ausgegangen, dass die Aktie unterbewertet ist.
Der Kern der Strategie ist der Brin-Band. Der Brin-Band besteht aus drei Linien: der mittleren Bahn, der oberen Bahn und der unteren Bahn. Die mittlere Bahn ist der Moving Average des n-Tage-Kontaktpreises; die obere Bahn ist die n-Tage-Kontaktpreisdifferenz der mittleren Bahn + k-mal; die unteren Bahn ist die n-Tage-Kontaktpreisdifferenz der mittleren Bahn - k-mal.
Konkret berechnet die Strategie zunächst den Moving Average des 20-Tage-Schlusskurses als Mittelstraße, dann das 2-fache der 20-Tage-Schlusskurs-Standarddifferenz als Bandbreite, Mittelstraße + Bandbreite als Oberstraße, Mittelstraße - Bandbreite als Unterstraße. Danach werden die Kaufbedingungen als Schlusskurs unterhalb der Unterstraße und die Verkaufsbedingungen als Schlusskurs über der Oberstraße festgelegt.
Die Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Die entsprechenden Lösungen sind wie folgt:
Die wichtigsten Optimierungsbereiche der Strategie sind:
Die Brin-Band-Tracking-Strategie ist insgesamt eine relativ einfache und praktische quantitative Handelsstrategie. Sie kann automatisch Aktienpreistrends verfolgen und auch Kauf- und Verkaufssignale liefern. Die Vorteile sind einfach zu realisieren, geringeres Risiko und die Fähigkeit, falsche Durchbrüche zu filtern.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy", shorttitle="BB Strategy", overlay=true)
// Input parameters
length = input(20, title="Bollinger Bands Length")
mult = input(2, title="Multiplier")
// Calculate Bollinger Bands
basis = ta.sma(close, length)
bb_upper = basis + mult * ta.stdev(close, length)
bb_lower = basis - mult * ta.stdev(close, length)
// Buy and sell conditions
buy_condition = close < bb_lower
sell_condition = close > bb_upper
// Execute trades
strategy.entry("Buy", strategy.long, when=buy_condition)
strategy.entry("Sell", strategy.short, when=sell_condition)
// Plotting Bollinger Bands on the chart
plot(bb_upper, color=color.red, title="Upper Band")
plot(bb_lower, color=color.green, title="Lower Band")
plot(basis, color=color.blue, title="Basis")
// Highlighting buy and sell signals on the chart
bgcolor(buy_condition ? color.new(color.green, 90) : na)
bgcolor(sell_condition ? color.new(color.red, 90) : na)