- Quadrat
- Bollinger-Breakout mit mittlerer Umkehrung 4H Quantitative Handelsstrategie
Bollinger-Breakout mit mittlerer Umkehrung 4H Quantitative Handelsstrategie
Schriftsteller:
ChaoZhang, Datum: 2024-12-12 11:24:28
Tags:
BBANDSSMAS.D.TPSL
Ü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:
- Verwendet 20-Perioden- gleitenden Durchschnitt als mittleres Band mit 2 Standardabweichungen für den Volatilitätsbereich
- 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
- 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
- Risikokontrolle: Setzt Stop-Loss an den aktuellen Candle-High/Low-Punkten, um kontrollierte Verluste pro Handel zu gewährleisten
Strategische Vorteile
- Klarer Handelslogik: Kombination von Trend- und Reverssionshandelsansätzen für eine gute Performance unter verschiedenen Marktbedingungen
- Umfassende Risikokontrolle: Implementiert dynamische Stop-Loss-Verfahren basierend auf der Volatilität der Kerzen für eine wirksame Zugriffskontrolle
- Falschsignalfilterung: Bestätigt Ausbrüche mit Hilfe der Position des Kerzenkörpers anstatt nur des Schlusskurses, um falsche Ausbruchverluste zu reduzieren
- Gute Geldverwaltung: Dynamische Anpassung der Positionsgröße anhand des Eigenkapitals, der Ausgleichsrenditen und des Risikos
Strategische Risiken
- Nebenmarktrisiko: Kann häufige falsche Ausbruchssignale in verschiedenen Märkten auslösen, die zu aufeinanderfolgenden Stopps führen
- Verschuldungsrisiko: Bei extremer Volatilität kann ein 3-faches Verschuldungsrisiko zu erheblichen Verlusten führen
- 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.
- Abhängigkeit vom Zeitrahmen: Der Zeitrahmen von 4 Stunden kann in bestimmten Marktbedingungen zu langsam reagieren, so dass Chancen verpasst werden
Strategieoptimierungsrichtlinien
- Implementieren von Trendfiltern: Hinzufügen von längerfristigen Trendindikatoren zum Handel in primärer Trendrichtung
- Optimierung des Stop-Loss-Ansatzes: Überlegen Sie, für dynamische Stop-Loss-Distanzen ATR oder Bollinger-Bandbreite zu verwenden.
- Verbesserung des Positionsmanagements: Dynamische Anpassung der Hebelwirkung auf der Grundlage von Volatilität oder Trendstärke
- 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