Dies ist eine Trend-Folge-Strategie, die auf Bollinger-Bändern basiert. Sie verwendet Bollinger-Bänder, um Preiskanäle zu berechnen und kombiniert Kerzenmuster, um die Trendrichtung zu bestimmen.
Diese Strategie verwendet das obere Band, das mittlere Band und das untere Band der Bollinger-Bänder, um Preisbereiche zu bestimmen. Das obere und untere Band umschließt die Preisbewegungen, während das mittlere Band der gleitende Durchschnitt ist. Die Bandbreite ändert sich basierend auf der Preisvolatilität. Wenn der Preis über das obere Band bricht, signalisiert er einen Aufbruch und einen langen Eintrag. Wenn der Preis unter das untere Band bricht, signalisiert er einen Abbruch und einen kurzen Eintrag.
Nach der Bestimmung der Trendrichtung mit Bollinger Bands Breakout bestätigt die Strategie sie auch mit Kerzenmustern. Wenn der Kerzenkörper mit dem Trend übereinstimmt, wie zum Beispiel eine bullische Kerze in einem Aufwärtstrend, wird eine Position geöffnet. Wenn der Kerzenkörper ein umgekehrtes Muster zeigt, wie eine bärische Kerze in einem Aufwärtstrend, wird das Signal ignoriert. Dieses Design zielt darauf ab, falsche Breakout-Risiken zu vermeiden.
Die detaillierten Regeln für den Handel mit Signalen sind:
Berechnung des oberen, mittleren und unteren Bandes der Bollinger-Bänder zur Bestimmung der Preisspanne
Wenn der Preis über den oberen Bereich bricht, signalisiert dies einen Aufwärtstrend
Wenn die Kerze bullisch ist, bestätigen Sie den Trend und gehen Sie lang
Wenn der Preis unter den unteren Bereich bricht, signalisiert dies einen Abwärtstrend/Kurztrend
Wenn der Kerzenstern bärisch ist, bestätigen Sie den Trend und gehen Sie kurz
Stop-Loss und Take-Profit auf Basis von Prozentsätzen festlegen
Durch den Eintritt auf Bollinger Bands Breakouts und die Bestätigung mit Kerzen kann diese Strategie effektiv die Trendrichtung identifizieren und gute Einträge während der frühen Trendphasen erzielen.
Dies ist ein typischer Trend nach einer Strategie mit folgenden Stärken:
Bollinger-Bänder sind anpassungsfähig und können die Bereiche für Aktien mit unterschiedlicher Volatilität anpassen
Die Bestätigung der Kerze filtert falsche Ausbrüche aus.
Mittelfristige Beteiligung senkt die Handelshäufigkeit und die Kosten/Slip
Die Erfassung mittelfristiger Trends vermeidet kurzfristige Geräusche und bietet ein gutes Risiko-Rendite-Verhältnis
Die Ergebnisse der Backtests sind stark und der reale Handel ist aufgrund der Systemisierung stabil
Strategie-Logik ist klar und leicht verständlich, mit Raum für Verbesserungen
Durch die Ermittlung des Trends mit Bollinger Bands und die Einführung einer Kerzenbestätigung erfasst diese Strategie effektiv eine mittelfristige Dynamik, die vom Volumen getrieben wird.
Für diese Strategie sind auch einige Risiken zu beachten:
Das Risiko eines fehlgeschlagenen Ausbruchs.
Umkehrrisiko: Auch mittelfristige Trends können umgekehrt werden, es sollten angemessene Stopps festgelegt werden
Bollinger Bands Parameter und Stops müssen für verschiedene Aktien abgestimmt werden
Übermäßige Optimierung der Parameter führt zu Kurvenanpassung
Das Risiko der Ausführung: Unterschiede zwischen Backtest und realen Handelsgeschäften
Um diesen Risiken entgegenzuwirken, können folgende Verbesserungen vorgenommen werden:
Optimierung der Bollinger-Band-Parameter und -breite für eine bessere Passform
Fügen Sie weitere Faktoren wie Volumen hinzu, um den Trend zu bestätigen
Verwenden Sie dynamische Stopps, um große Verluste bei Umkehrungen zu vermeiden
Anwendung der Vorwärtslaufanalyse, um Überanpassung zu vermeiden
Verbesserung der Auftragsausführung für eine höhere Effizienz des realen Handels
Diese Strategie kann in folgenden Bereichen weiter ausgebaut werden:
Hinzufügen mehr Indikatoren wie KDJ, MACD, um Signale zu bestätigen und die Genauigkeit zu verbessern
Maschinelles Lernen zur dynamischen Optimierung von Parametern anstelle von festen Werten
Festlegen Sie Preisschwellen um Breakout-Punkte, um genauere Signale zu generieren
Optimieren von Exits mit Trailing Stops oder Teilgewinnentnahme
Einführung einer Positionsgröße für ein besseres Risikomanagement
Verwenden Sie erweiterte Bestelltypen zur Verbesserung der Ausführungsergebnisse
Hinzufügen von Marktregimefiltern, um die Strategie in bestimmten Umgebungen abzuschalten
Durch die Einführung weiterer Techniken und Optimierungen können die Stabilität und Rentabilität dieser Strategie weiter verbessert werden, um noch bessere Backtest- und reale Handelsergebnisse zu erzielen.
Dies ist eine typische Trend-Folge-Strategie, die Bollinger-Bänder als dynamische Bereiche verwendet, um die Trendrichtung zu bestimmen.
Die Vorteile dieser Strategie umfassen die Verwendung von Bollinger Bands für den Trend, Kerzen für die Eintrittsbestätigung, geringe Handelsfrequenz und einfache Systemisierung.
Insgesamt hat es als typische Trend-Folge-Strategie eine klare Logik und ist leicht umsetzbar mit starker Lebensfähigkeit.
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Scalper Strategy v1.2", shorttitle = "Scalper str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %") needct = input(false, defval = false, title = "Counter-trend entry") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") needbb = input(true, defval = true, title = "Show Bands") needbg = input(true, defval = true, title = "Show Background") src = close //PriceChannel 1 lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //Distance dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma hd1 = center + distsma / 2 ld1 = center - distsma / 2 //Trend trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Body body = abs(close - open) smabody = sma(body, 100) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0 dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0 up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0 dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0 if up7 == 1 or up8 == 1 strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na) if dn7 == 1 or dn8 == 1 strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)