Triple EMA und Fisher Transform Trend Momentum Strategie

TEMA EMA Fisher Transform Zero Line SMA
Erstellungsdatum: 2025-02-20 17:41:02 zuletzt geändert: 2025-02-20 17:41:02
Kopie: 2 Klicks: 415
2
konzentrieren Sie sich auf
319
Anhänger

Triple EMA und Fisher Transform Trend Momentum Strategie Triple EMA und Fisher Transform Trend Momentum Strategie

Überblick

Diese Strategie kombiniert zwei technische Indikatoren, den Triple Index Moving Average (TEMA) und den Fisher Transform, um die Ein- und Ausstiegszeiten zu bestimmen, indem sie Trends und Dynamiksignale identifiziert. TEMA als Trendverfolgungsindikator mit geringer Verzögerung ist in der Lage, die Richtung der Markttrends effektiv zu identifizieren, während der Fisher Transform ein klareres Dynamiksignal bietet, indem er die Preisänderung in eine Gaussian-Normalverteilung umwandelt.

Strategieprinzip

Die Kernlogik der Strategie basiert auf zwei Hauptindikatoren:

  1. Der TEMA-Indikator verwendet die dreifache Indikator-Moving-Average-Berechnung und reduziert die Verzögerung des herkömmlichen Moving Averages durch die Formel “3×EMA - 3×EMA ((EMA) + EMA ((EMA)) ” mit einer Standard-Periode von 21 Jahren.
  2. Der Fisher Transform-Indikator wandelt die Preisdaten in eine Normalverteilung um, wobei der Standardwert 10 ist. Er verwendet die logarithmische Transformation, um das Signal klarer zu machen, indem er die hohen und niedrigen Preise standardisiert behandelt.

Die Handelsregeln lauten wie folgt:

  • Mehrfache Bedingungen: Preise über die TEMA-Linie und über die 0-Achse der Fisher Transform
  • Leerstellung: Preis unterhalb der TEMA-Linie und der 0-Achse unterhalb der Fisher-Transformation
  • Mehrere Einzelspieler: Preise unter TEMA-Linie oder Fisher Transform unter 0-Achse
  • Blank Ticket: Preise über TEMA-Linien oder über die 0-Achse der Fisher Transform

Strategische Vorteile

  1. Hohe Signalzuverlässigkeit: Durch die Kombination von Trend- und Dynamikindikatoren kann ein falsches Signal effektiv gefiltert werden
  2. Geringe Verzögerung: TEMA hat eine schnellere Reaktionsgeschwindigkeit als der herkömmliche mobile Durchschnitt
  3. Signalklarheit: Die normalverteilten Eigenschaften der Fisher Transform machen die Handelssignale klarer
  4. Risikokontrollen sind perfekt: klare Stop-Loss-Bedingungen festgelegt
  5. Anpassbarkeit der Parameter: Anpassung der Parameter an die jeweiligen Marktbedingungen
  6. Gute Visualisierung: Eine klare Darstellung der Diagramme

Strategisches Risiko

  1. Risiko eines volatilen Marktes: In einem Seitwärtsmarkt kann es häufig zu falschen Ausbruchssignalen kommen.
  2. Rückstandsrisiko: Obwohl TEMA die Rückstandsfähigkeit reduziert hat, gibt es immer noch eine gewisse Verzögerung
  3. Parametersensitivität: Unterschiedliche Parametereinstellungen können zu großen Unterschieden in der Strategieleistung führen
  4. Marktumfeld-Abhängigkeit: Strategien, die in tendenziösen Märkten besser abschneiden

Richtung der Strategieoptimierung

  1. Einführung von Schwankungsfiltern: Handelssignale unter niedrigen Schwankungen können mit ATR-Filtern versehen werden
  2. Optimierung der Ausstiegsmechanismen: Einbeziehung einer mobilen Stop-Loss- oder Gewinnschutzmechanismus kann in Betracht gezogen werden
  3. Erweiterte Zeitfilterung: Anpassung der Handelsstrategie an die Merkmale des Marktes in verschiedenen Zeiträumen
  4. Hinzufügen von Transaktionsmengenbestätigung: Kombination von Transaktionsmengenindikatoren erhöht die Signalsicherheit
  5. Optimierung der dynamischen Parameter: Anpassung der Parameter an die dynamische Marktlage

Zusammenfassen

Es ist eine vollständige Handelsstrategie, die Trend- und Dynamikanalyse kombiniert. Durch die kombinierte Verwendung von TEMA und Fisher Transform wird sowohl die Trendverfolgung als auch die klare Dynamikbestätigung gesichert. Die Strategie ist vernünftig konzipiert und hat eine gute Praktikabilität, aber in der praktischen Anwendung muss auf die Anpassung an die Marktumgebung geachtet und die Parameter entsprechend der jeweiligen Situation optimiert werden.

Strategiequellcode
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Triple EMA (TEMA) + Fisher Transform Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ==== Triple EMA (TEMA) Settings ====
temaLength = input.int(21, title="TEMA Length", minval=1)

// Implementácia Triple EMA (TEMA)
// TEMA = 3 * EMA(close, length) - 3 * EMA(EMA(close, length), length) + EMA(EMA(EMA(close, length), length), length)
ema1 = ta.ema(close, temaLength)
ema2 = ta.ema(ema1, temaLength)
ema3 = ta.ema(ema2, temaLength)
tema = 3 * ema1 - 3 * ema2 + ema3
plot(tema, color=color.blue, title="TEMA")

// ==== Fisher Transform Settings ====
fisherLength = input.int(10, title="Fisher Length", minval=1)
fisherSmooth = input.int(1, title="Fisher Smoothing", minval=1)  // Zvyčajne sa používa 1 alebo 2

// Výpočet Fisher Transform
// Krok 1: Normalizácia ceny
price = (high + low) / 2
maxPrice = ta.highest(price, fisherLength)
minPrice = ta.lowest(price, fisherLength)
value = 0.5 * (2 * ((price - minPrice) / (maxPrice - minPrice)) - 1)
value := math.min(math.max(value, -0.999), 0.999)  // Orezanie hodnoty pre stabilitu

// Krok 2: Výpočet Fisher Transform
var float fisher = na
fisher := 0.5 * math.log((1 + value) / (1 - value)) + 0.5 * nz(fisher[1])
fisher := fisherSmooth > 1 ? ta.sma(fisher, fisherSmooth) : fisher
plot(fisher, color=color.red, title="Fisher Transform", linewidth=2)

// ==== Strategie Podmienky ====
 // Long Condition: Cena prekročí TEMA smerom nahor a Fisher Transform prekročí 0 smerom nahor
longCondition = ta.crossover(close, tema) and ta.crossover(fisher, 0)
if (longCondition)
    strategy.entry("Long", strategy.long)

 // Short Condition: Cena prekročí TEMA smerom nadol a Fisher Transform prekročí 0 smerom nadol
shortCondition = ta.crossunder(close, tema) and ta.crossunder(fisher, 0)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Long Condition: Cena prekročí TEMA smerom nadol alebo Fisher Transform prekročí 0 smerom nadol
exitLong = ta.crossunder(close, tema) or ta.crossunder(fisher, 0)
if (exitLong)
    strategy.close("Long")

// Exit Short Condition: Cena prekročí TEMA smerom nahor alebo Fisher Transform prekročí 0 smerom nahor
exitShort = ta.crossover(close, tema) or ta.crossover(fisher, 0)
if (exitShort)
    strategy.close("Short")

// ==== Voliteľné: Vykreslenie Zero Line pre Fisher Transform ====
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)