Die Ressourcen sind geladen. Beförderung...

Schildkrötenhandel 3-Tage Umkehrstrategie

Schriftsteller:ChaoZhang, Datum: 2023-10-13
Tags:

Übersicht

Die Turtle Trading 3-Day Reversion Strategy ist eine Modifikation der 3-Tage Mean Reversion Strategy aus dem Buch High Probability ETF Trading von Larry Connors und Cesar Alvarez.

  • Wenn der Schlusskurs von gestern unter dem 5-tägigen gleitenden Durchschnitt liegt, kaufen Sie heute.
  • Wenn der heutige Schlusskurs über dem 5-tägigen gleitenden Durchschnitt liegt, verkaufen Sie heute.

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.

Strategie Logik

Die Strategie funktioniert wie folgt:

  • Verlängern, wenn die folgenden Kaufbedingungen zutreffen:
    • Schließen liegt über der 200-Tage-EMA
    • Schließung unter der 5-Tage-EMA
    • Das heutige Hoch ist niedriger als das gestrige Hoch.
    • Das Tief des heutigen Tages ist niedriger als das Tief von gestern.
    • Gestern war das Höchstwert niedriger als am Vortag.
    • Gestern war es niedriger als am Vortag.
    • Vortagshoch ist niedriger als vor 2 Tagenhoch
    • Das Tief des Vortages ist niedriger als vor 2 Tagen
  • Ausgang, wenn der Schlusskurs über dem Ausgang EMA liegt

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.

Analyse der Vorteile

Im Vergleich zu den traditionellen Kreuzungsstrategien für gleitende Durchschnitte bietet diese Strategie folgende Vorteile:

  1. Die Verwendung einer 3-tägigen aufeinanderfolgenden Verengung zur Identifizierung von Umkehrungen verbessert die Signalqualität.

  2. Die Filterung mit langen und kurzen EMA vermeidet den Handel in Trendmärkten.

  3. Die Verwendung von EMA anstelle von SMA für die Trendlinie ist empfindlicher, um Umkehrungen zu erkennen.

  4. Durch die verstellbare Ausgangsmaße kann die Stop-Loss-Strategie anhand der Marktbedingungen angepasst werden.

  5. Eine geringe Handelsfrequenz mit 1-2-tägigen Haltezeiten vermeidet Risiken, die mit langen Richtwetten verbunden sind.

Risikoanalyse

Die Strategie birgt außerdem folgende Risiken:

  1. Das Risiko einer fehlgeschlagenen Umkehrung kann sein, dass der Preis nach dem Umkehrsignal nicht zurückschlägt und weiter sinkt.

  2. Häufiges Stop-Loss-Risiko.

  3. Parameteroptimierungsrisiko. Exit EMA und andere Parameter müssen kontinuierlich getestet und angepasst werden, basierend auf sich ändernden Märkten.

  4. Überanpassung Risiko. Optimierung sollte Überanpassung vermeiden. Parameter sollten robust sein.

Die Risiken können verringert werden, indem

  1. Strenge Einhaltung der Stop-Loss-Regeln zur Kontrolle von Einzelverlusten.

  2. Robuste Parameter-Tuning während der Optimierung, um Risiko und Rendite auszugleichen.

  3. Anpassung der Positionsgröße an das geringere Risiko pro Handel.

Optimierungsmöglichkeiten

Die Strategie kann in folgenden Bereichen verbessert werden:

  1. Versuche verschiedene EMA-Längen für Ein- und Ausstieg, um optimale Parameter zu finden.

  2. Fügen Sie andere Filter wie Lautstärke hinzu, um sicherzustellen, dass die Umkehrsignale zuverlässiger sind.

  3. Verbessern Sie den Stop Loss mit Methoden wie ATR oder Trailing Stops für mehr Flexibilität.

  4. Ein Trendfilter wird eingesetzt, um zu vermeiden, dass in bestehenden Trends umkehrende Signale aufgenommen werden.

  5. Kombination mit anderen Strategien zur Optimierung und Diversifizierung des Portfolios.

  6. Maschinelles Lernen für die adaptive Parameter-Tuning.

Zusammenfassung

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()

Mehr