Die Turtle Trading 3-Day Reversion Strategy ist eine Modifikation der
Durch Übung und Backtesting habe ich festgestellt, dass die Strategie konsequent besser funktioniert, wenn man eine EMA anstelle einer SMA für die Trendlinie verwendet.
Die Strategie funktioniert wie folgt:
Der Exit EMA wird standardmäßig auf den 5-Tage-EMA angepasst, seine Länge ist anpassbar.
Die Hauptidee der Strategie besteht darin, die kurzfristige Durchschnittsreversion zu nutzen. Wenn die Preise kontinuierlich sinken, werden sie wahrscheinlich kurzfristig zurückschlagen. Die Strategie identifiziert durchschnittliche Umkehrmöglichkeiten, indem sie überprüft, ob sich die Preise für 3 aufeinanderfolgende Tage unter einer kurzfristigen EMA verengt haben. Sobald eine Umkehrung stattfindet, tritt sie sofort aus, wenn der Preis über die Exit EMA bricht.
Im Vergleich zu den traditionellen Kreuzungsstrategien für gleitende Durchschnitte bietet diese Strategie folgende Vorteile:
Die Verwendung einer 3-tägigen aufeinanderfolgenden Verengung zur Identifizierung von Umkehrungen verbessert die Signalqualität.
Die Filterung mit langen und kurzen EMA vermeidet den Handel in Trendmärkten.
Die Verwendung von EMA anstelle von SMA für die Trendlinie ist empfindlicher, um Umkehrungen zu erkennen.
Durch die verstellbare Ausgangsmaße kann die Stop-Loss-Strategie anhand der Marktbedingungen angepasst werden.
Eine geringe Handelsfrequenz mit 1-2-tägigen Haltezeiten vermeidet Risiken, die mit langen Richtwetten verbunden sind.
Die Strategie birgt außerdem folgende Risiken:
Das Risiko einer fehlgeschlagenen Umkehrung kann sein, dass der Preis nach dem Umkehrsignal nicht zurückschlägt und weiter sinkt.
Häufiges Stop-Loss-Risiko.
Parameteroptimierungsrisiko. Exit EMA und andere Parameter müssen kontinuierlich getestet und angepasst werden, basierend auf sich ändernden Märkten.
Überanpassung Risiko. Optimierung sollte Überanpassung vermeiden. Parameter sollten robust sein.
Die Risiken können verringert werden, indem
Strenge Einhaltung der Stop-Loss-Regeln zur Kontrolle von Einzelverlusten.
Robuste Parameter-Tuning während der Optimierung, um Risiko und Rendite auszugleichen.
Anpassung der Positionsgröße an das geringere Risiko pro Handel.
Die Strategie kann in folgenden Bereichen verbessert werden:
Versuche verschiedene EMA-Längen für Ein- und Ausstieg, um optimale Parameter zu finden.
Fügen Sie andere Filter wie Lautstärke hinzu, um sicherzustellen, dass die Umkehrsignale zuverlässiger sind.
Verbessern Sie den Stop Loss mit Methoden wie ATR oder Trailing Stops für mehr Flexibilität.
Ein Trendfilter wird eingesetzt, um zu vermeiden, dass in bestehenden Trends umkehrende Signale aufgenommen werden.
Kombination mit anderen Strategien zur Optimierung und Diversifizierung des Portfolios.
Maschinelles Lernen für die adaptive Parameter-Tuning.
Die Turtle Trading 3-Tage-Reversion-Strategie identifiziert kurzfristige Umkehrchancen, indem sie 3-tägige Verengungsmuster unterhalb einer kurzen EMA erkennt. Im Vergleich zu traditionellen gleitenden Durchschnittsstrategien hat sie zuverlässigere Eintrittssignale und eine anpassbare Ausgangs-EMA für die Optimierung von Stop-Loss. Die Strategie funktioniert gut für vielschichtige Märkte in der Bandbreite und für die Erfassung von Kurzsprossen. Es gibt jedoch weitere Möglichkeiten, Parameter, Stop-Loss und Trendfilter zu verbessern.
/*backtest start: 2023-10-05 00:00:00 end: 2023-10-12 00:00:00 period: 10m 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/ // @version = 5 // Author = TradeAutomation strategy(title="ETF 3-Day Reversion Strategy", shorttitle="ETF 3-Day Reversion Strategy", process_orders_on_close=true, overlay=true, commission_type=strategy.commission.cash_per_order, commission_value=1, initial_capital = 10000000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Backtest Date Range Inputs // StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time') EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time') InDateRange = true // Strategy Rules // DayEMA5 = ta.ema(close, 5) Rule1 = close>ta.ema(close, 200) Rule2 = close<DayEMA5 Rule3 = high<high[1] and low<low[1] and high[1]<high[2] and low[1]<low[2] and high[2]<high[3] and low[2]<low[3] ExitEMA = ta.ema(close, input.int(5, "EMA Length For Exit Strategy", tooltip = "The strategy will sell when the price crosses over this EMA")) plot(DayEMA5) plot(ExitEMA, color=color.green) // Entry & Exit Functions // if (InDateRange) strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3) // strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop)) strategy.close("Long", when = ta.crossover(close, ExitEMA)) if (not InDateRange) strategy.close_all()