Bollinger-Band-basierte intelligente Tracking-Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-17 14:05:36
Tags:

img

Übersicht

Diese Strategie basiert auf dem Bollinger-Band-Indikator, um kurz zu gehen, wenn der Preis über das obere Band bricht, und lang zu gehen, wenn der Preis unter das untere Band bricht, um einen intelligenten Tracking-Handel zu realisieren.

Strategie Logik

Die Strategie verwendet die mittlere Linie, das obere Band und das untere Band der Bollinger-Bänder als Basisindikatoren. Die mittlere Linie ist der gleitende Durchschnitt der Schlusskosten über n Tage. Das obere Band ist die mittlere Linie, die um zwei Standardabweichungen nach oben verschoben wird, während das untere Band um zwei Standardabweichungen nach unten verschoben wird. Wenn der Preis das untere Band nach oben bricht, gehen Sie lang. Wenn der Preis das obere Band nach unten bricht, gehen Sie kurz. Dies ermöglicht eine intelligente Preisverfolgung basierend auf der Marktvolatilität.

Die Strategie richtet sich insbesondere nach zwei Kriterien:

  1. Ta.crossover ((Quelle, niedriger): Schlusskurs über dem unteren Bereich, lang

  2. Ta.crossunder ((Quelle, oberer): Schlusskurs unterhalb des oberen Bandes, kurz gehen

Wenn die Ausstiegsbedingung ausgelöst wird, verwenden Sie die Funktion strategy.cancel(), um die vorhandene Position abzuflachen.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Basierend auf dem Bollinger-Band-Indikator, der in der Lage ist, die Marktvolatilität zu erfassen und den Preistrend effektiv zu verfolgen
  2. Klare und einfache Logik, leicht zu verstehen und umzusetzen
  3. Anpassbare Parameter wie Periodenlänge und Standardabweichungsmultiplikator, sehr anpassungsfähig
  4. Konfigurierbare Stop-Loss-, Break-Even- oder Trailing-Stop-Mechanismen zur Optimierung der Strategieleistung

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Bollinger-Band-Break-outs sind anfällig für falsche Signale
  2. Leistung beruht auf Parameteroptimierung, unsachgemäße Parameter können sich auf die Rentabilität auswirken
  3. Schwierig, den Stop-Loss zu verfolgen, nicht in der Lage, den Einzelhandelsverlust wirksam zu kontrollieren

Entsprechende Lösungen

  1. Fügen Sie Filter mit anderen Indikatoren hinzu, um falsche Ausbrüche zu vermeiden
  2. Testen Sie die Parameter gründlich, um die optimale Parametermenge zu finden
  3. Hinzufügen von bewegenden oder trendfolgenden Stop-Loss-Mechanismen

Optimierungsrichtlinien

Die Strategie kann weiter optimiert werden, indem

  1. Hinzufügen anderer Indikatoren zur Bestimmung der Trendrichtung, um ungeeignete Marktbedingungen für die Bollinger-Strategie zu vermeiden
  2. Verschiedene Periodenlängen testen, um die optimale zu finden
  3. Einbeziehung von Bewegungs- oder Rückhaltmechanismen zur wirksamen Kontrolle von Einzelhandelsverlusten

Schlussfolgerung

Diese Strategie basiert auf dem Bollinger Bands-Indikator und verwendet Preisbrechungen der oberen und unteren Bands, um die Preise automatisch zu verfolgen. Die Logik ist einfach und sensibel für die Marktvolatilität. Weitere Optimierungen können über Parameter-Tuning und Stop-Loss-Mechanismen durchgeführt werden. Insgesamt funktioniert diese Strategie gut für Indizes und Rohstoffe mit höherer Volatilität. Händler können auf der Grundlage ihrer Handelspräferenz eine Astika-Handelsstrategie ableiten.


/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy with alerts (incl. pending orders) via TradingConnector to Forex", overlay=true)
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = ta.crossover(source, lower)
sellEntry = ta.crossunder(source, upper)
if (ta.crossover(source, lower))
	strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
    alert(message='long price='+str.tostring(lower), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandLE")
    alert(message='cancel long', freq=alert.freq_once_per_bar_close)
if (ta.crossunder(source, upper))
	strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
    alert(message='short price='+str.tostring(upper), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandSE")
    alert(message='cancel short', freq=alert.freq_once_per_bar_close)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

//Lines of code added to the original built-in script: 14, 17, 20 and 23 only.
//They trigger alerts ready to be executed on real markets through TradingConnector
//available for Forex, indices, crypto, stocks - anything your broker offers for trading via MetaTrader4/5


Mehr