Die Ressourcen sind geladen. Beförderung...

Bollinger-Breakout mit mittlerer Umkehrung 4H Quantitative Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-12-12 11:24:28
Tags:BBANDSSMAS.D.TPSL

img

Übersicht

Diese Strategie ist ein 4-Stunden-Zeitrahmen quantitatives Handelssystem, das auf Bollinger Bands basiert und die Trend-Breakout- und Mean-Reversion-Handelskonzepte kombiniert. Die Strategie erfasst die Marktdynamik durch Bollinger Bands-Breakouts, während sie die Preis-Mean-Reversion für die Gewinnnahme und die Implementierung von Stop-Loss für die Risikokontrolle verwendet.

Strategieprinzipien

Die Kernlogik beruht auf folgenden Schlüsselelementen:

  1. Verwendet 20-Perioden- gleitenden Durchschnitt als mittleres Band mit 2 Standardabweichungen für den Volatilitätsbereich
  2. Eintrittssignale: Lang, wenn der Kerzenkörper (Durchschnitt der Öffnung und Schließung) über dem oberen Band bricht, kurz, wenn er unter dem unteren Band bricht
  3. Ausgangssignale: Schließen von Long-Positionen, wenn zwei aufeinanderfolgende Kerzen sowohl offene als auch schließende Preise unterhalb des oberen Bandes haben und unterhalb der offenen Schließen; umgekehrte Logik für Short-Positionen
  4. Risikokontrolle: Setzt Stop-Loss an den aktuellen Candle-High/Low-Punkten, um kontrollierte Verluste pro Handel zu gewährleisten

Strategische Vorteile

  1. Klarer Handelslogik: Kombination von Trend- und Reverssionshandelsansätzen für eine gute Performance unter verschiedenen Marktbedingungen
  2. Umfassende Risikokontrolle: Implementiert dynamische Stop-Loss-Verfahren basierend auf der Volatilität der Kerzen für eine wirksame Zugriffskontrolle
  3. Falschsignalfilterung: Bestätigt Ausbrüche mit Hilfe der Position des Kerzenkörpers anstatt nur des Schlusskurses, um falsche Ausbruchverluste zu reduzieren
  4. Gute Geldverwaltung: Dynamische Anpassung der Positionsgröße anhand des Eigenkapitals, der Ausgleichsrenditen und des Risikos

Strategische Risiken

  1. Nebenmarktrisiko: Kann häufige falsche Ausbruchssignale in verschiedenen Märkten auslösen, die zu aufeinanderfolgenden Stopps führen
  2. Verschuldungsrisiko: Bei extremer Volatilität kann ein 3-faches Verschuldungsrisiko zu erheblichen Verlusten führen
  3. Das Risiko der Einstellung von Stop-Loss: Die Verwendung von Candle-High/Low-Punkten für Stops kann zu locker sein und die Verluste pro Handel erhöhen.
  4. Abhängigkeit vom Zeitrahmen: Der Zeitrahmen von 4 Stunden kann in bestimmten Marktbedingungen zu langsam reagieren, so dass Chancen verpasst werden

Strategieoptimierungsrichtlinien

  1. Implementieren von Trendfiltern: Hinzufügen von längerfristigen Trendindikatoren zum Handel in primärer Trendrichtung
  2. Optimierung des Stop-Loss-Ansatzes: Überlegen Sie, für dynamische Stop-Loss-Distanzen ATR oder Bollinger-Bandbreite zu verwenden.
  3. Verbesserung des Positionsmanagements: Dynamische Anpassung der Hebelwirkung auf der Grundlage von Volatilität oder Trendstärke
  4. Hinzufügen von Marktbedingungenanalyse: Einbeziehung von Volumen- oder Volatilitätsindikatoren zur Ermittlung von Marktzuständen für den selektiven Einstieg

Zusammenfassung

Diese Strategie kombiniert Bollinger Bands Trend- und Mean-Reversion-Eigenschaften und erzielt durch strenge Einstiegs-/Ausstiegsbedingungen und Risikokontrollmaßnahmen stabile Renditen in Trending- und Range-Märkten.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04)
// StartYear = input(2022,"Backtest Start Year") 
// StartMonth = input(1,"Backtest Start Month") 
// StartDay = input(1,"Backtest Start Day")

// testStart = timestamp(StartYear,StartMonth,StartDay,0,0)

// EndYear = input(2023,"Backtest End Year")
// EndMonth = input(12,"Backtest End Month")
// EndDay = input(31,"Backtest End Day")

// testEnd = timestamp(EndYear,EndMonth,EndDay,0,0)

lev = 3

// Input parameters
length = input.int(20, title="Bollinger Band Length")
mult = input.float(2.0, title="Bollinger Band Multiplier")

// Bollinger Bands calculation
basis = ta.sma(close, length)
upperBand = basis + mult * ta.stdev(close, length)
lowerBand = basis - mult * ta.stdev(close, length)

// Conditions for Open Long
openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand

// Conditions for Open Short
openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand

// Conditions for Close Long
closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open)

// Conditions for Close Short
closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open)


// Long entry
if openLongCondition
    strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close)
    strategy.exit("Long SL", from_entry="Long", stop=low)  // Set Stop-Loss

// Short entry
if openShortCondition
    strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close)
    strategy.exit("Short SL", from_entry="Short", stop=high)  // Set Stop-Loss

// Long exit
if closeLongCondition
    strategy.close("Long", comment = "TP")

// Short exit
if closeShortCondition
    strategy.close("Short", comment = "TP")

// Plot Bollinger Bands
plot(upperBand, color=color.yellow, title="Upper Band")
plot(lowerBand, color=color.yellow, title="Lower Band")

Verwandt

Mehr