Die Ressourcen sind geladen. Beförderung...

Fisher Transform Dynamischer Schwellenwert nach Strategie

Schriftsteller:ChaoZhang, Datum: 2024-06-17 15:01:19
Tags:

img

Übersicht

Die Fisher Transform Dynamic Threshold Trend Following Strategy nutzt den Fisher Transform Indikator, um Veränderungen in den Preistrends zu identifizieren. Die Strategie verwendet die Fisher Transform, um die Preise auf eine Standardskala zu normalisieren, wodurch es einfacher ist, potenzielle Trendumkehrpunkte zu erkennen. Durch die dynamische Anpassung der Schwellen angepasst sich die Strategie an verschiedene Marktbedingungen und verbessert die Genauigkeit der Trenderkennung.

Strategieprinzip

  1. Berechnen Sie den Fisher-Transform-Wert: Auf der Grundlage historischer Höchst- und Tiefpreise normalisieren Sie den aktuellen Preis, um einen Fisher-Transform-Wert zwischen -0,999 und 0,999 zu erhalten.
  2. Dynamischer Schwellenwert: Der Schwellenwert für Kauf- und Verkaufssignale wird dynamisch anhand der historischen Volatilität des Fisher Transform-Wertes angepasst, um sich an verschiedene Marktzustände anzupassen.
  3. Trendbestimmung: Bestimmung von Veränderungen der Preisentwicklung durch Vergleich des aktuellen Fisher Transform-Wertes mit den Werten der beiden vorherigen Perioden.
  4. Kauf- und Verkaufssignale: Erzeugen Sie ein Kaufsignal, wenn der Fisher Transform-Wert die negative Schwelle von unten überschreitet, und erzeugen Sie ein Verkaufssignal, wenn der Fisher Transform-Wert die positive Schwelle von oben überschreitet.

Analyse der Vorteile

  1. Dynamische Anpassung der Schwellenwerte: Anpassungsfähige Anpassung der Kauf- und Verkaufsschwellenwerte anhand der Marktvolatilität zur Verbesserung der Genauigkeit der Trendbeurteilung.
  2. Trendverfolgung: Die Trendbeurteilung des Fisher Transform-Indikators ermöglicht eine effektive Erfassung von Markttrends und dem Trend folgendem Handel.
  3. Reduzierte Preiserhöhungen: Die Fisher-Transformation normalisiert die Preise und hilft, die Auswirkungen von Preiserhöhungen auf die Trendbeurteilung zu reduzieren.
  4. Intuitive Diagrammdarstellung: Die Strategie zeichnet die Fisher-Transform-Kurve und Schwellenlinien auf dem Diagramm, so dass Händler Markttrends und Kauf-/Verkaufssignale visuell beobachten können.

Risikoanalyse

  1. Das Risiko der Optimierung von Parametern: Die Performance der Strategie hängt von der Auswahl von Parametern wie der Fisher-Transform-Periode und der dynamischen Schwellenwertberechnungsmethode ab.
  2. Trenderkennungsverzögerung: Der Fisher Transform-Indikator hat eine gewisse Verzögerung bei der Beurteilung von Preistrends, die einige Trendbewegungen verpassen können.
  3. Schlechte Performance in unruhigen Märkten: Bei unruhigen Marktbedingungen können häufige Trendänderungen dazu führen, dass die Strategie mehr falsche Signale erzeugt, was zu einer suboptimalen Handelsleistung führt.
  4. Extreme Marktrisiken: Bei extremen Marktbedingungen (z. B. schnellen und erheblichen Veränderungen) kann der Fisher Transform-Indikator ausfallen und die Strategie zu falschen Handelsentscheidungen führen.

Optimierungsrichtung

  1. Optimierung von Parametern: Optimierung wichtiger Parameter wie der Fisher-Transform-Periode und der dynamischen Schwellenwertberechnungsmethode, um die Anpassungsfähigkeit der Strategie an verschiedene Marktzustände zu verbessern.
  2. Signalfilterung: Zusätzlich zur Trenderkennung werden andere technische Indikatoren oder Marktstimmungsindicatoren eingeführt, um Handelssignale zu bestätigen und die Signalzuverlässigkeit zu verbessern.
  3. Stop-Loss und Take-Profit: Es sind angemessene Stop-Loss- und Take-Profit-Regeln festzulegen, um das Risiko eines einzigen Handels zu kontrollieren und das Risiko-Rendite-Verhältnis der Strategie zu verbessern.
  4. Positionsmanagement: Dynamische Anpassung der Positionsgrößen anhand von Faktoren wie Markttrendstärke und Preisvolatilität zur Verringerung des Positionsrisikos.

Zusammenfassung

Die Fisher Transform Dynamic Threshold Trend Following Strategy identifiziert Veränderungen in den Preistrends mithilfe des Fisher Transform-Indikators und dynamischen Schwellenwerten und passt sich an verschiedene Marktzustände an. Die Strategie erfasst effektiv Markttrends und ermöglicht Trend-following-Trading. Zu ihren Vorteilen gehören dynamische Schwellenanpassung, reduzierte Preislärmstörungen und intuitive Diagrammdarstellung. Sie steht jedoch auch vor Herausforderungen wie Parameteroptimierungsrisiko, Trenderkennungsverzögerung, schlechte Leistung in unruhigen Märkten und extremes Marktrisiko. Durch Maßnahmen wie Parameteroptimierung, Signalfilterung, Stop-Loss und Take-Profit und Positionsmanagement können die Robustheit und Rentabilität der Strategie weiter verbessert werden.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Qiuboneminer -  Fisher Transform", overlay=true)

// Parámetros
Len = input.int(10, minval=1)
mult1 = input.int(1, minval=1)
threshold = 2.6

// Función Fisher Transform
fish(Length, timeMultiplier) =>
    var float nValue1 = na
    var float nFish = na
    xHL2 = hl2
    xMaxH = ta.highest(xHL2, Length * timeMultiplier)
    xMinL = ta.lowest(xHL2, Length * timeMultiplier)
    nValue1 := 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
    nValue2 = if nValue1 > 0.99
        0.999
    else if nValue1 < -0.99
        -0.999
    else
        nValue1
    nFish := 0.5 * math.log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
    nFish

// Cálculo del Fisher Transform para mult1
Fisher1 = fish(Len, mult1)

// Condiciones de entrada y salida
longCondition = Fisher1 > nz(Fisher1[1]) and nz(Fisher1[1]) <= nz(Fisher1[2]) and Fisher1 < -threshold
shortCondition = Fisher1 < nz(Fisher1[1]) and nz(Fisher1[1]) >= nz(Fisher1[2]) and Fisher1 > threshold

// Estrategia de entrada
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Ploteo del Fisher Transform
plot(Fisher1, color=(Fisher1 > nz(Fisher1[1]) ? color.rgb(34, 255, 0) : color.rgb(255, 0, 212)), title="Fisher TF:1")

// Ploteo de líneas de umbral
hline(threshold, "Umbral Superior", color=color.rgb(255, 0, 0), linestyle=hline.style_dotted)
hline(-threshold, "Umbral Inferior", color=#008704, linestyle=hline.style_dotted)


Mehr