Ichimoku-Stop-Loss-Strategie

Schriftsteller:ChaoZhang, Datum: 23.11.2023
Tags:

img

Übersicht

Diese Strategie ist eine Trendfolgestrategie, die unter Verwendung von Ichimoku Cloud und Stop-Orders entwickelt wurde. Sie nutzt die Konversionslinie, Basislinie und Verzögerungsspanne der Ichimoku Cloud, um die Trendrichtung zu bestimmen und setzt Stop-Orders an den oberen und unteren Rändern der Cloud-Bänder für Stop-Loss.

Strategie Logik

Die Strategie beruht auf folgenden Grundsätzen:

  1. Die Umrechnungslinie ist der Durchschnitt der höchsten und niedrigsten Preise der letzten neun Tage, der die jüngsten durchschnittlichen Preisänderungen widerspiegelt.

  2. Die Basislinie ist der Durchschnitt der höchsten und niedrigsten Preise der letzten 26 Tage und spiegelt mittelfristige durchschnittliche Preisänderungen wider.

  3. Die Verzögerungsdauer ist der Durchschnitt der höchsten und niedrigsten Preise der letzten 52 Tage und spiegelt langfristige durchschnittliche Preisänderungen wider.

  4. Der Durchschnitt der Umwandlung und der Basislinien bildet die führende Spanne 1, und die zurückbleibende Spanne bildet die führende Spanne 2. Der Bereich zwischen den beiden führenden Spannen bildet die Wolkenbänder. Die oberen und unteren Kanten der Wolkenbänder zeigen die Trendrichtung an.

  5. Wenn der Preis über die Wolkenbänder bricht, gehen Sie lang.

  6. Setzen Sie Stop-Loss-Orders an den oberen und unteren Rändern der Wolkenbänder, um dem Trend zu folgen.

Insbesondere definiert die Strategie die drei Ichimoku-Linien, berechnet ihre Durchschnittswerte, um den führenden Spanne 1 und 2 zu erhalten. Sie bestimmt dann die Trendrichtung, basierend auf dem Preis, der die oberen oder unteren Cloud-Band-Grenzen durchbricht. Nachdem sie Long- oder Short-Positionen eingenommen hat, setzt sie Stop-Loss-Orders basierend auf den Cloud-Band-Preisen, um dem Trend mit einem Stop-Loss zu folgen.

Analyse der Vorteile

Die Vorteile dieser Strategie sind:

  1. Ichimoku Cloud bestimmt zuverlässig die Trendrichtung, indem es Preisinformationen aus mehreren Zeitrahmen einbezieht und Marktlärm filtert.

  2. Die Verwendung der Nebelbandkanten ermöglicht einen angemessenen Stop-Loss-Bereich und eine gute Trendverfolgung.

  3. Ichimoku Cloud filtert Lärm und kontrolliert das Risiko.

  4. Flexible Anpassung der Parameter: Umrechnungs-, Basis- und Verzögerungszeiten können an die Marktanpassungen angepasst werden.

  5. Klarer Logik und leicht verständlich.

Risikoanalyse

Zu den Risiken der Strategie gehören:

  1. Das Risiko eines Stop-Loss-Ausbruchs: Volatile Kursbewegungen können zum Stop-Loss und zum Ausstieg aus profitablen Positionen führen.

  2. Häufige Stopp-Loss-Trigger führen zu einem Überhandel.

  3. Parameterrisiko: Eine unsachgemäße Einstellung von Umwandlung, Basis und Verzögerung kann dazu führen, dass der Stop-Loss-Bereich zu breit oder eng ist.

  4. Häufige Aufträge können zu übermäßigen Schlupfkosten führen, die sich auf den Gewinn auswirken.

  5. Algorithmische Handelsrisiken, Ausfallzeiten, Netzwerkprobleme, Fehler können die Handelsausführung beeinträchtigen.

Um diesen Risiken entgegenzuwirken, sollten Parameter optimiert, Stop-Loss-Algorithmen, die Stabilität von Servern verbessert, ein angemessenes Risikomanagement und gründliche Strategietests durchgeführt werden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimieren Sie die Parameter-Einstellungen, indem Sie verschiedene Periodenkombinationen testen, um optimale Werte zu finden.

  2. Verbessern Sie die Stop-Loss-Algorithmen mit Trailing-Stops, Volatilitäts-Stops usw., um die Stopp-Loss-Trigger zu reduzieren.

  3. Zusätzliche Indikatoren wie MACD, KDJ einbeziehen, um die Entscheidungsfindung zu verbessern.

  4. Hinzufügen einer automatischen Verlustschließungsfunktion, um Verluste zu begrenzen.

  5. Implementieren Sie den Wiedereintrittsmechanismus nach dem Stop-Loss-Ausgang.

  6. Optimierung des Geldmanagements durch dynamische Positionsgrößen.

Schlussfolgerung

Insgesamt hat die Strategie eine klare Logik, verwendet die Ichimoku Cloud für die Trendrichtung und Cloud-Bänder für den Stop-Loss-Trailing, um das Risiko effektiv zu kontrollieren und praktische Nützlichkeit zu haben.


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

//@version=4
strategy(title = "Noro's Ichimoku Stop Strategy", shorttitle = "Ichimoku Stop Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
conversionPeriods = input(9, minval = 1, title = "Conversion Periods")
basePeriods = input(26, minval = 1, title = "Base Periods")
laggingSpan2Periods = input(52, minval = 1, title = "Lagging Span")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Ichimoku
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

//Cloud
p1 = plot(leadLine1, offset = basePeriods, color=color.green, title="Lead 1", transp = 100)
p2 = plot(leadLine2, offset = basePeriods, color=color.red, title="Lead 2", transp = 100)
fill(p1, p2)

//Signals
max = max(leadLine1[basePeriods], leadLine2[basePeriods])
min = min(leadLine1[basePeriods], leadLine2[basePeriods])
up = low > max
dn = high < min

if max > 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = max)
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = min)

Mehr