Dreifache exponentielle gleitende Durchschnittslänge nur Strategie

Schriftsteller:ChaoZhang, Datum: 2023-11-15 10:54:39
Tags:

img

Übersicht

Die Triple Exponential Moving Average Long Only Strategy ist eine langfristige Trend-Folge-Strategie, die auf dem Triple Exponential Moving Average (TEMA) -Indikator basiert. Sie verwendet TEMA, um kurzfristige Marktgeräusche auszufiltern und mittelfristige bis langfristige Trendrichtungen zu identifizieren. Die Strategie geht lang, wenn der Preis über TEMA überschreitet, und geht aus, wenn der Preis unter TEMA fällt. Sie eignet sich für Anleger, die an mittelfristigen bis langfristigen Trendhandel interessiert sind.

Strategie Logik

Die Strategie identifiziert mittelfristige bis langfristige Trends mithilfe des TEMA-Indikators. TEMA ist ein glätteter Trendindikator, der aus der dreifachen exponentiellen Glättung der Standard-EMA abgeleitet wird.

Insbesondere berechnet die Strategie zunächst die EMA (ema1) des Zeitraums fastEmaPeriod, berechnet dann eine weitere EMA (ema2) von ema1 unter Verwendung desselben Zeitraums und berechnet schließlich ema3 basierend auf ema2. Die endgültige TEMA wird berechnet als: TEMA = 3 * (ema1 - ema2) + ema3. Die Strategie geht lang, wenn der Preis über TEMA überschreitet und geht aus, wenn der Preis unter TEMA fällt.

Durch mehrfache exponentielle Glättung kann TEMA trotz Zickzacks und Umkehrungen mittelfristige bis langfristige Trendrichtungen effektiv identifizieren und kurzfristige Geräusche herausfiltern.

Analyse der Vorteile

  • TEMA identifiziert effektiv mittelfristige bis langfristige Trends und filtert kurzfristige Geräusche aus, wodurch Schlagsägen vermieden werden.

  • Nur Long-Positionen vermeiden unbegrenzte Abwärtsrisiken von Shorting.

  • Die Risikopositionsgröße der Risikopositionen ist in der Regel die Größe der Risikopositionen, die für die Risikokontrolle verwendet werden.

  • Zeitfenster-Backtesting optimiert Parameter für bestimmte historische Perioden.

Risikoanalyse

  • Schwere Schwarzschwanenereignisse können während langer Aufbewahrungszeiten zu starken Rückschlägen führen und zu großen Verlusten führen.

  • TEMA kann Trendschwankungen für einen rechtzeitigen Stop-Loss nicht signalisieren.

  • Der Anteil der Vermögenswerte, die in einem Wertpapier verbucht werden müssen, wird in der Tabelle 1 aufgeführt.

  • Backtesting-Risiken überanpassen, optimierte Parameter passen möglicherweise nicht zu zukünftigen Märkten.

Verbesserungsrichtlinien

  • Hinzufügen von Volatilitätsmetriken zur Stärkung der Parameter.

  • Einführung von Stop Loss zur Kontrolle der Größe eines einzelnen Verlustes.

  • Optimierung der Positionsgröße auf eine geringere Größe während der Abzüge.

  • Hinzufügen von Trendindikatoren für Zeiträume, um die Trendgenauigkeit zu verbessern.

  • Versuche verschiedene Haltezeitparameter für das optimale Ergebnis.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die Triple EMA Long Only Strategie Trendrichtungen über den TEMA-Indikator identifiziert, langfristige Positionen hält, um kurzfristige Geräusche zu vermeiden, nur lange bleibt, um unbegrenzten Abwärtstrend zu vermeiden, und mittelfristige bis langfristige Trends effektiv erfasst. Allerdings gibt es Risiken, die Optimierungen erfordern, um die Robustheit zu verbessern. Insgesamt eignet sie sich für Anleger mit einer gewissen Risikotoleranz, die den Trendhandel begünstigt.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("TEMA_System_long_only", overlay=true)

//Collect inputs parameters

fastEmaPeriod = input(7, minval=1, title="Fast TEMA Period")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 4, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2010, title = "From Year", minval = 2000)
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 = 9999, title = "To Year", minval = 2000)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

fastEma = ema(close, fastEmaPeriod)

//convert EMA into TEMA

ema1 = ema(close, fastEmaPeriod)
ema2 = ema(ema1, fastEmaPeriod)
ema3 = ema(ema2, fastEmaPeriod)

fastTEMA = 3 * (ema1 - ema2) + ema3


buy  = close > fastTEMA
sell = close < fastTEMA

plot(fastTEMA, title = 'TEMA', linewidth=3, color=white)

if window()
    strategy.entry("long",strategy.long, when = buy)
    strategy.close("long", when = sell )

Mehr