Diese Strategie basiert auf der Breakout-Theorie und vergleicht die gleitenden Durchschnitte der höchsten und niedrigsten Preise, um festzustellen, ob sich der Trend umkehrt, um potenzielle Breakout-Punkte zu finden und zu handeln, wenn ein Breakout eintritt.
Diese Strategie berechnet zunächst die gleitenden Durchschnitte der höchsten und niedrigsten Preise innerhalb eines vom Benutzer definierten Zeitraums. Der höchste gleitende Preisdurchschnitt repräsentiert das obere Band, und der niedrigste gleitende Preisdurchschnitt repräsentiert das untere Band. Wenn der Preis durch das obere Band bricht, signalisiert er einen Aufwärtstrend, und die Strategie wird eine Long-Position eröffnen. Wenn der Preis durch das untere Band bricht, signalisiert er einen Abwärtstrend, und die Strategie wird eine Short-Position eröffnen. Benutzer können nur lang oder nur kurz konfigurieren.
Die Strategie bietet außerdem optionale Stop-Loss- und Take-Profit-Einstellungen. Bei Long wird der Stop-Loss auf das obere Band gesetzt; bei Short wird der Stop-Loss auf das untere Band gesetzt. Dies reduziert die Verluste. Die Benutzer können auch wählen, ob sie den Stop-Loss am Breakout-Punkt setzen möchten, d.h. bei Long ist der Stop-Loss im unteren Band und bei Short ist der Stop-Loss im oberen Band. Dies ermöglicht mehr Gewinnpotenzial.
Die Vorteile dieser Strategie sind:
Die Logik ist einfach und unkompliziert, leicht zu verstehen und umzusetzen.
Es kann schnell Trendumkehrpunkte erfassen und Positionen entsprechend anpassen.
Es bietet optionale Stop-Loss- und Take-Profit-Einstellungen, die den persönlichen Risikobereitschaften entsprechen.
Die Handelssignale sind klar, ohne zu viele falsche Signale.
Es gibt nur wenige konfigurierbare Parameter, einfach zu bedienen.
Flexibilität bei der Konfiguration von nur lang oder nur kurz.
Zu den Risiken dieser Strategie gehören:
Das Ausbruchsignal kann ein falscher Ausbruch sein und kann nicht aufrechterhalten werden.
Eine falsche Einstellung der Ausbruchsperiode kann längerfristige Trends verpassen.
Es berücksichtigt nicht die Lautstärke beim Ausbruch, kann dazu führen, Höhen zu jagen und Tiefststände zu töten.
Es gibt eine gewisse Verzögerung, kann einen guten Teil des Zuges verpassen.
Auf einem volatilen Markt kann ein Stop-Loss getroffen werden.
Der Handel beruht ausschließlich auf dem Ausbruch, der Gewinn ist unsicher.
Die Strategie kann in folgenden Aspekten verbessert werden:
Um falsche Ausbrüche zu vermeiden, wird ein Lautstärkenindikator eingefügt.
Optimieren Sie den gleitenden Durchschnittszeitraumparameter, um die Trendveränderungen in verschiedenen Zyklen anzupassen.
Setzen Sie eine Rückzugsschwelle nach dem Ausbruch für weitere Bestätigung, um einen falschen Ausbruch zu vermeiden.
Für eine stärkere Orientierung können Bollinger-Bänder usw. zusätzlich zur Ausfallbasis hinzugefügt werden.
Einbeziehung anderer Indikatoren wie RSI, MACD für zusätzliche Handelssignale und Verbesserung der Genauigkeit.
Optimieren Sie Stop-Loss- und Gewinnstrategien, um besser mit Marktschwankungen umzugehen und gleichzeitig das Risiko zu kontrollieren.
Die Breakout-Handelsstrategie verfügt über eine klare Logik zur Verfolgung des Preisbruchs der oberen und unteren Bands für den Einstieg und den Ausstieg. Es gibt viel Raum für Verbesserungen, indem mehr Indikatorinformationen integriert und Parameter optimiert werden, um die Strategie zu stärken.
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length") bod = input(false, defval = false, title = "Body mode") rev = input(false, defval = false, title = "Revers") showlines = input(true, defval = true, title = "Show Lines?") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Extremums min = bod ? min(open, close) : low max = bod ? max(open, close) : high upex = highest(max, len) + syminfo.mintick * 10 dnex = lowest(min, len) - syminfo.mintick * 10 col = showlines ? blue : na plot(upex, color = col, linewidth = 2) plot(dnex, color = col, linewidth = 2) //Trading lot = 0.0 lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if (not na(close[len])) and rev == false strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex) if (not na(close[len])) and rev == true strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()