Diese Strategie baut eine Handelsstrategie auf der Grundlage des Bollinger Bands-Indikators auf, um den automatisierten Handel mit Bitcoin-Futures in einem 1-minütigen Zeitrahmen zu erreichen.
Die Strategie verwendet den Bollinger Bands-Indikator mit 55 Perioden und einem Bandbreitenkoeffizienten von 4. Die mittlere Linie der Bollinger Bands ist der 55-tägige einfache gleitende Durchschnitt, und die oberen und unteren Linien sind die mittlere Linie +4 mal die Standardabweichung und die mittlere Linie -4 mal die Standardabweichung. Wenn der Preis unter die untere Linie fällt, gehen Sie lang; wenn der Preis über die obere Linie steigt, gehen Sie kurz.
Nachdem das Long-Signal ausgelöst wurde, setzt die Strategie einen Stop-Loss-Auftrag zum Preis der unteren Linie. Nachdem das Short-Signal ausgelöst wurde, setzt die Strategie einen Stop-Loss-Auftrag zum Preis der oberen Linie. Es werden keine Take-Profit-Orders gesetzt.
Die Strategie nutzt die Fähigkeit des Bollinger Bands-Indikators, überkaufte und überverkaufte Bedingungen zu bestimmen, um den Eintrittszeitpunkt vernünftig zu bestimmen. Der Bandbreitenkoeffizient ist auf 4 eingestellt, um übermäßig häufigen Handel zu vermeiden.
Im Vergleich zu anderen Indikatoren passt sich der Bollinger Bands-Indikator sehr gut an die Marktschwankungen an und kann die Bandbreite automatisch anpassen, um die Volatilität in verschiedenen Perioden zu erfassen.
Darüber hinaus stützt sich die Strategie ausschließlich auf den Indikator Bollinger Bands, der sehr einfach ist und die Anforderungen für den quantitativen Handel erfüllt.
Das Hauptrisiko dieser Strategie liegt in der Tatsache, dass der Effekt des Bollinger Bands-Indikators zur Beurteilung der überkauften und überverkauften Marktbedingungen durch riesige Marktbewegungen beeinflusst werden kann. In einem Bullenmarkt können die Aktienkurse für einen längeren Zeitraum hoch laufen, was es für die obere Schiene schwierig macht, einen effektiven Widerstand zu bilden. In ähnlicher Weise können die Aktienkurse in einem Bärenmarkt für einen längeren Zeitraum niedrig bleiben, was es für die untere Schiene schwierig macht, eine effektive Unterstützung zu bieten. All dies kann dazu führen, dass durch die Strategie ungültige Handelssignale generiert werden.
Darüber hinaus kann die Einstellung von Stop-Loss direkt an den oberen und unteren Schienen der Bollinger-Bänder zu nahe liegen und der Strategie nicht genügend Raum geben und dadurch durch Kursschwankungen ausgeschaltet werden.
Die Strategie kann in folgenden Aspekten optimiert werden:
Kombination mit anderen Indikatoren Indikatoren wie KDJ und MACD können dazu beitragen, extreme Überkauf-/Überverkaufsbedingungen zu beurteilen, um Handelssignale zu modifizieren.
Im Vergleich zu statischem Stop-Loss kann der Trailing-Stop-Loss die Stop-Loss-Position entsprechend anhand der Kursschwankungen anpassen.
Optimieren von Parametern. Verschiedene Perioden und Bandbreitenparameter von Bollinger Bands können getestet werden, um die optimale Parameterkombination zu finden.
Der Markt hat drei Zustände: Bullen, Bären und Rangebound.
Sie können die Risiken der Strategie durch dynamische Anpassung der Hebelwirkung verwalten.
Die größte Stärke dieser Strategie ist ihre einfache und klare Handelslogik, überkaufte/überverkaufte Signale aus dem Bollinger Bands-Indikator zu erhalten. Insgesamt ist es eine sehr praktische kurzfristige quantitative Strategie. Wir können sie weiter verbessern, indem wir sie auf viele Arten optimieren, um langfristige stabile Gewinne zu erzielen.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Kozlod - BB Strategy - 1 minute", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) // // author: Kozlod // date: 2019-05-29 // BB - XBTUDS - Bitmex - 1m // https://www.tradingview.com/u/Kozlod/ // https://t.me/quantnomad // source = close length = input(55, minval=1) mult = input(4, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev plot(upper) plot(lower) buyEntry = crossover(source, lower) sellEntry = crossunder(source, upper) if (crossover(source, lower)) strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if (crossunder(source, upper)) strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE") else strategy.cancel(id="BBandSE")