Quantitative Handelsstrategie basierend auf modifiziertem Hull-Gleitenden Durchschnitt und Ichimoku Kinko Hyo

HMA IKHS WMA
Erstellungsdatum: 2024-04-28 13:39:00 zuletzt geändert: 2024-04-28 13:39:00
Kopie: 11 Klicks: 564
1
konzentrieren Sie sich auf
1617
Anhänger

Quantitative Handelsstrategie basierend auf modifiziertem Hull-Gleitenden Durchschnitt und Ichimoku Kinko Hyo

Überblick

Die Strategie kombiniert zwei technische Indikatoren, den modifizierten Hull Moving Average (HMA) und das Gleichgewicht von Ichimoku Kinko Hyo, um die mittelfristigen Trends des Marktes zu erfassen. Die Hauptidee der Strategie besteht darin, die Kreuzung des HMA mit der Basislinie in der Gleichgewicht von Kijun Sen zu nutzen und gleichzeitig die Wolke des Gleichgewichts von Kumo als Filterbedingungen zu verwenden, um die Richtung der Markttrends zu bestimmen und zu handeln.

Strategieprinzip

  1. Berechnung des modifizierten Hull Moving Averages (HMA)
    • Berechnen Sie den WMA und führen Sie eine Doppel-Gleichbehandlung durch, um eine korrigierte HMA zu erhalten
  2. Berechnung von auf den ersten Blick ausgeglichenen Indikatoren
    • Berechnung der Umschaltlinie (Tenkan Sen), der Basislinie (Kijun Sen), der Vorreiter-Oberlinie (Senkou Span A) und der Vorreiter-Unterlinie (Senkou Span B)
  3. Erzeugung von Handelssignalen
    • Mehrfaches Signal wird erzeugt, wenn der HMA die Referenzlinie durchbricht und der Schlusskurs über der Wolke liegt
    • Kurzsignale werden erzeugt, wenn der HMA unterhalb der Basislinie liegt und der Kurzschluss unterhalb der Wolke liegt
  4. Transaktionsdurchführung
    • Beim Kauf von Wertpapieren, bei denen der Wert der Wertpapiere in der Währung liegt.
  5. Rücktritt
    • Aus der aktuellen Haltung aussteigen, wenn die HMA die Referenzlinie in die entgegengesetzte Richtung überschreitet

Strategische Vorteile

  1. Die Kombination von HMA und Gleichgewicht als zwei effektiven Trend-Tracking-Indikatoren ermöglicht eine bessere Erfassung von Markttrends
  2. Die Nutzung einer auf den ersten Blick ausgeglichenen Wolke als Filterbedingungen kann die Anzahl der falschen Signale reduzieren und die Gewinnchancen erhöhen.
  3. Die korrigierten HMAs haben eine schnellere Reaktionszeit und eine geringere Verzögerung im Vergleich zu herkömmlichen Moving Averages und sind in der Lage, Änderungen am Markt rechtzeitig zu reflektieren.
  4. Strategie-Logik klar, leicht zu verstehen und umzusetzen, für verschiedene Märkte und Zeiträume

Strategisches Risiko

  1. Diese Strategie kann bei Marktschwankungen oder unklaren Trends zu mehr Falschsignalen führen, was zu häufigen Transaktionen und Verlusten von Geldern führt.
  2. Die Parameter-Einstellungen der Strategie haben einen großen Einfluss auf die Ergebnisse des Handels, wobei verschiedene Kombinationen von Parametern zu unterschiedlichen Performances führen können.
  3. Die Strategie berücksichtigt keine unerwarteten Ereignisse und unvernünftigen Verhaltensweisen auf dem Markt, die unter extremen Marktbedingungen ein höheres Risiko darstellen können.

Richtung der Strategieoptimierung

  1. Einführung von anderen technischen Indikatoren oder Marktstimmungsindikatoren, um die Zuverlässigkeit und Stabilität des Signals zu verbessern
  2. Optimierung von Strategieparametern, z. B. die Suche nach der optimalen Kombination von Parametern durch Methoden wie maschinelles Lernen oder genetische Algorithmen
  3. Erwägen Sie, Risikomanagement-Module wie Stop-Loss-Stopps und Positionsmanagement einzubauen, um die Risikolockage der Strategie zu kontrollieren
  4. Anpassung und Optimierung der Strategie nach den Merkmalen verschiedener Märkte und Zeiträume

Zusammenfassen

Die Strategie baut durch die Kombination von modifizierten Hull-Moving Averages und Gleichgewichten ein relativ robustes Trend-Tracking-Trading-System auf. Die Strategie ist klar und leicht umzusetzen, hat aber auch einige Vorteile. Die Strategie-Performance ist jedoch immer noch von Marktbedingungen und Parameter-Einstellungen beeinflusst und erfordert weitere Optimierungen und Verbesserungen.

Strategiequellcode
/*backtest
start: 2024-04-20 00:00:00
end: 2024-04-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hull MA_X + Ichimoku Kinko Hyo Strategy", shorttitle="HMX+IKHS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)

// Hull Moving Average Parameters
keh = input(12, title="Double HullMA")
n2ma = 2 * wma(close, round(keh/2)) - wma(close, keh)
sqn = round(sqrt(keh))
hullMA = wma(n2ma, sqn)

// Ichimoku Kinko Hyo Parameters
tenkanSenPeriods = input(9, title="Tenkan Sen Periods")
kijunSenPeriods = input(26, title="Kijun Sen Periods")
senkouSpanBPeriods = input(52, title="Senkou Span B Periods")
displacement = input(26, title="Displacement")

// Ichimoku Calculations
highestHigh = highest(high, max(tenkanSenPeriods, kijunSenPeriods))
lowestLow = lowest(low, max(tenkanSenPeriods, kijunSenPeriods))
tenkanSen = (highest(high, tenkanSenPeriods) + lowest(low, tenkanSenPeriods)) / 2
kijunSen = (highestHigh + lowestLow) / 2
senkouSpanA = ((tenkanSen + kijunSen) / 2)
senkouSpanB = (highest(high, senkouSpanBPeriods) + lowest(low, senkouSpanBPeriods)) / 2

// Plot Ichimoku
p1 = plot(tenkanSen, color=color.blue, title="Tenkan Sen")
p2 = plot(kijunSen, color=color.red, title="Kijun Sen")
p3 = plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement)
p4 = plot(senkouSpanB, color=color.orange, title="Senkou Span B", offset=displacement)
fill(p3, p4, color=color.gray, title="Kumo Shadow")

// Trading Logic
longCondition = crossover(hullMA, kijunSen) and close > senkouSpanA[displacement] and close > senkouSpanB[displacement]
shortCondition = crossunder(hullMA, kijunSen) and close < senkouSpanA[displacement] and close < senkouSpanB[displacement]

// Strategy Execution
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Logic - Exit if HullMA crosses KijunSen in the opposite direction
exitLongCondition = crossunder(hullMA, kijunSen)
exitShortCondition = crossover(hullMA, kijunSen)

if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")