
Überblick
Die Strategie nutzt die Bollinger Bands-Indikatoren, um bei der Berührung der oberen Bahn zu verlieren, bei der Berührung der unteren Bahn zu übernehmen und einen dynamischen Stop-Loss einzurichten. Die Kernidee der Strategie ist, dass die Preise immer innerhalb der Bollinger Bands schwanken und die Eigenschaft haben, dass sie sich umkehren, wenn die Preise zu weit vom Moving Average abweichen.
Strategieprinzip
- Berechnung von Moving Averages und Standardabweichungen: Berechnen Sie den Moving Average des Schlusskurses (Basis) mit einem einfachen Moving Average (SMA) und berechnen Sie dann die Standardabweichung des Schlusskurses gegenüber dem Moving Average (Dev).
- Berechnen Sie die Ober- und Unterbahn: Oberbahn (upper) als basis + dev *Multiplikator, unterhalb der Schiene (lower) als basis - dev *Multiplikator, wobei der Multiplikator das Vielfache der Schwankungsbreite ist.
- Erzeugen Sie ein Handelssignal: Erzeugen Sie ein Mehrfachsignal, wenn der Schlusskurs über der Schlusskurve geht und der aktuelle Schlusskurs kleiner als der Eröffnungskurs ist. Erzeugen Sie ein Bremssignal, wenn der Schlusskurs unter der Schlusskurve geht und der aktuelle Schlusskurs größer als der Eröffnungskurs ist.
- Dynamische Stop-Off: Nach dem Aufnahme-Prozess wird der Stop-Off-Preis nach dem Aufnahme-Prozess und dem Stop-Off-Prozess berechnet.
- Visualisierung: Zeichnung von Bollinger Bands, Moving Averages und Handelssignalen auf einem Diagramm.
Strategische Vorteile
- Einfach und effektiv: Die Strategie ist klar in der Logik und nutzt nur einen technischen Indikator, der leicht zu verstehen und umzusetzen ist.
- Breite Anwendbarkeit: Die Bollinger Bands sind universell und können für verschiedene Handelsmarken und Märkte verwendet werden.
- Dynamische Stopps: Im Gegensatz zu festen Stopps ermöglichen dynamische Stopps die Maximierung der Gewinne auf Gewinnscheinen und die Kontrolle des Risikos.
- Effektives Ergreifen von Trends: Bei Trends, bei denen die Preise nach dem Auf- oder Abstieg in der Regel eine Zeitlang in der ursprünglichen Richtung weiterlaufen, kann diese Strategie die Möglichkeit des Trends effektiv ergreifen.
Strategisches Risiko
- Schlechte Performance in Schwankungsmärkten: Die Strategie kann zu häufigen Handelssignalen führen, was zu einer Überzahl von Transaktionen und höheren Gebühren führt, wenn die Märkte in einer breiten Schwankung sind und die Preise wiederholt innerhalb der Bollinger Band brechen.
- Tiefer Rückzug in der Trendlage: Wenn der Trend lange andauert und der Preis langfristig von der Durchschnittslinie abweicht, kann der Rückzug tiefer sein, da die Strategie rückläufig ist.
- Die Parameterwahl ist schwierig: Die Parameter des Bollinger Bands (wie die Länge, die Multiplikation) haben einen großen Einfluss auf die Strategie, aber es gibt keine universell geeigneten Parameter.
Richtung der Strategieoptimierung
- Kombination mit Trendbeurteilung: Ein Trendbeurteilungskennzeichen (wie beispielsweise ein Moving Average) wird in die Strategie aufgenommen, um den Handel in einem Trend zu pausieren oder im Trend zu handeln.
- Optimierung des Stop-Losses: Der Stop-Loss kann dynamisch an Volatilitätsindikatoren wie ATR angepasst werden, um ein besseres Gewinn-Risiko-Verhältnis zu erzielen.
- Multi-Faktor-Kombination: Erwägen Sie die Verwendung von Bollinger Bands in Verbindung mit anderen technischen Indikatoren (wie RSI, MACD usw.), um die Signalgenauigkeit zu verbessern und falsche Signale zu reduzieren.
- Grundlegende Filterung: Nach der Erzeugung von Handelssignalen kann eine zweite Bestätigung durch grundlegende Daten (z. B. Gewinn- und Verlustrechnung, Branchendaten usw.) durchgeführt werden, um die Stabilität der Strategie zu verbessern.
Zusammenfassen
Die Strategie nutzt die Bollinger Bands, um ein einfaches und effektives Handelssystem zu erstellen, das auf den Kurs als Signal für den Auf- und Abstieg signalisiert und gleichzeitig das Risiko durch dynamische Stopps steuert. Die Strategie funktioniert gut in Trendsituationen, kann aber in einem schwankenden Markt mit häufigen Handelsproblemen konfrontiert werden. Die Strategie kann anschließend von Trends beurteilt, Stop-Loss-Optimierung, Faktorkombination und Fundamentalfiltrierung verbessert werden, um einen stabileren Ertrag zu erzielen.
Strategiequellcode
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Future Price Prediction", overlay=true)
// Ayarlar
length = input.int(14, "Length")
mult = input.float(2.0, "Multiplier")
showBands = input.bool(true, "Show Bands")
takeProfitPercentage = 1.0
// Ortalama ve Standart Sapma Hesaplamaları
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
// Üst ve Alt Bantlar
upper = basis + dev
lower = basis - dev
// Grafikte Gösterim
plot(basis, color=color.blue, linewidth=2, title="Basis")
plot(showBands ? upper : na, color=color.red, linewidth=1, title="Upper Band")
plot(showBands ? lower : na, color=color.green, linewidth=1, title="Lower Band")
// Al-Sat Sinyalleri
longCondition = ta.crossover(close[1], lower[1]) and close[1] < open[1]
shortCondition = ta.crossunder(close[1], upper[1]) and close[1] > open[1]
// Kar al seviyeleri
float longTakeProfit = na
float shortTakeProfit = na
if longCondition
longTakeProfit := close * (1 + takeProfitPercentage / 100)
if shortCondition
shortTakeProfit := close * (1 - takeProfitPercentage / 100)
// Strateji Giriş ve Çıkış
if longCondition
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit", from_entry="Buy", limit=longTakeProfit)
if shortCondition
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit", from_entry="Sell", limit=shortTakeProfit)
// Al-Sat Sinyalleri Grafikte Gösterim
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Bilgi Tablosu
var table data = table.new(position.bottom_right, 2, 2, frame_color=color.black, frame_width=1)
if barstate.islast
table.cell(data, 0, 0, "Current Price", text_color=color.white)
table.cell(data, 1, 0, str.tostring(close))
table.cell(data, 0, 1, "Predicted Basis", text_color=color.white)
table.cell(data, 1, 1, str.tostring(basis))