Übersicht: Die ATR-Trailing-Stop-Strategie ist eine Handelsstrategie, die die Stop-Loss-Levels dynamisch basierend auf dem Indikator Average True Range (ATR) festlegt.
Die Strategie berechnet den AVERAGE-Indikator (Preis gleitender Durchschnitt) und die oberen/unten Bands DIFF/DIFFLOW basierend auf den ATR-Werten, die einen Handelskanal bilden.
Der Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss an den Anschluss.
Die Strategie kann somit kontinuierlich Long/Short gehen, um Gewinne bei wichtigen Trends zu erzielen, während sie ATR-Trailing-Stops zur Risikokontrolle verwendet.
Zu den Vorteilen dieser Strategie gehören:
Die ATR-basierten dynamischen Stopps passen sich an die Marktvolatilität an und vermeiden Stopps, die zu nah oder zu weit liegen.
Der Handelskanal zielt darauf ab, die durchschnittliche Umkehr innerhalb der Trends zu erfassen.
Kontinuierlicher Trendhandel ohne Vorhersage von Ausbrüchen. Folgt Trends für bessere Rentabilität.
Einfache Parameter und Regeln, leicht zu verstehen und zu automatisieren.
Hohe Kapitalverwertung, kontinuierlicher Handel bieten mehr Gewinnchancen.
Einige Risiken zu berücksichtigen:
Große ATR-Koeffizienten führen zu zu weit entfernten Haltestellen, die das Risiko nicht kontrollieren.
Whipsaws in Range-bound Märkten lösen häufige Stopps aus.
Das Hinzufügen eines Trendfilters zum Handelskanal bricht nur in Richtung des Trends.
Große Spitzen können Stops unwirksam machen.
Mögliche Optimierungen:
Optimierung der ATR-Parameter, um das richtige Gleichgewicht zwischen der Verfolgung der Volatilität und der Vermeidung übermäßiger Stopps zu finden.
Fügen Sie einen Trendindikator hinzu, nur Trades brechen in Trendrichtung.
Prüfparameter für jedes Messgerät einzeln, um optimale Werte zu finden.
Optimieren Sie den Einstieg, erwägen Sie den Einstieg auf Kanal-Mittellinien-Ausbrüche.
Erhöhung der Positionsgröße bei gleichzeitiger Kontrolle des Gesamtrisikos/der Abwässerung.
Die ATR Trailing Stop Strategie handelt kontinuierlich mit Trends und steuert dabei das Risiko dynamisch. Sie eignet sich für volatile Instrumente und bietet eine gute Kapitalverwertung. Parameteroptimierung und das Hinzufügen von Filtern können die Performance weiter verbessern.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-25 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Investoz //@version=4 strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) len = input(26, type=input.integer, minval=1, title="Length") mul = input(1, type=input.float, minval=0, title="Length") mullow = input(2, type=input.float, minval=0, title="Length") price = sma(close, 1) average = ema(close, len) diff = atr(len) * mul difflow = atr(len) * mullow bull_level = average + diff bear_level = average - difflow bull_cross = crossunder(price, bear_level) bear_cross = crossunder(bull_level, price) FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2008, title = "From Year", minval = 2008) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2020, title = "To Year", minval = 2019) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) startTimeOk() => true if (startTimeOk()) strategy.entry("KOP", strategy.long, when=bull_cross) strategy.close("KOP", when=bear_cross) strategy.entry("SALJ", strategy.short, when=bear_cross) strategy.close("SALJ", when=bull_cross) plot(price, title="price", color=color.black, transp=50, linewidth=2) a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1) a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1) a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1) fill(a0, a1, color=color.green, transp=97) fill(a0, a2, color=color.red, transp=97)