ICH Cloud bringt Umkehrstrategie


Erstellungsdatum: 2023-10-27 16:36:59 zuletzt geändert: 2023-10-27 16:36:59
Kopie: 2 Klicks: 896
1
konzentrieren Sie sich auf
1617
Anhänger

ICH Cloud bringt Umkehrstrategie

Überblick

Die Ichimoku Kumo Twist-Strategie verwendet die Konversions-, Benchmark- und Leitlinien des Ichimoku-Indikators, um Handelssignale zu erstellen. Sie gehört zu den Trend-Tracking-Strategien. Sie sucht die Wendepunkte für kurz- und mittelfristige Trends durch die Umkehrung der Ichimoku-Wolkenbänder, um die brechenden Punkte und Überkauf-Überverkaufsmöglichkeiten mit geringem Risiko zu erhalten.

Strategieprinzip

Die Strategie verwendet hauptsächlich die drei Mittellinien des Ichimoku-Indikators - die Übergangslinie, die Benchmarklinie und die Leitung 1 sowie die Höchst- und Mindestpreise der K-Linie zur Berechnung der oberen und unteren Grenze der Bandbreite. Die Umrechnungslinie berechnet die Mittelpunkte der Höchst- und Mindestpreise der letzten 9 K-Linien, die den kurzfristigen Mittelwert des Gleichgewichtsdiagramms darstellen; die Benchmark berechnet die Mittelpunkte der Höchst- und Mindestpreise der letzten 26 K-Linien, die den langfristigen Mittelwert darstellen. Die Leitung 1 ist das Mittel der Umrechnungslinie und der Basislinie, die Leitung 2 die Mittelpunkte der letzten 52 K-Linien.

Die Handelsstrategie besteht darin, die Gold- und die Goldforke der kurz- und mittelfristigen Durchschnittslinie zu verfolgen, um Trendänderungen zu erfassen.

Analyse der Stärken

  • Die Ichimoku-Wolkenband-Umkehrstrategie kombiniert kurzfristige und mittelfristige Trends, um Trendwendepunkte effektiv zu identifizieren.

  • Die Strategie basiert auf einer Gleichlinie mit einer gewissen Verzögerung, die einen Teil des Lärms filtern kann.

  • Der Cloud-Band wird genutzt, um zu beurteilen, wie stark oder schwach Trends sind, um bessere Ein- und Ausgänge zu erzielen.

  • Die Parameter müssen nicht optimiert werden, sondern die Standardparameter von Ichimoku werden verwendet.

Risikoanalyse

  • Das Ichimoku-Prinzip ist komplizierter, nicht empfindlich für Parameteranpassungen und nicht leicht zu optimieren.

  • In der Bilanz könnte es mehrere Fehlsignale geben.

  • Wenn kurz- und mittelfristige Trends abweichen, kann es zu Strategieversagen kommen.

  • Das Risiko muss mit Stop-Loss-Systemen gesteuert werden, sonst kann es zu größeren Verlusten kommen.

Optimierungsrichtung

  • Verschiedene Parameterkombinationen von Umstellungs- und Referenzlinien können getestet werden, um die optimale Balance zu finden.

  • In Kombination mit anderen Indikatoren filtern Sie die Einstiegssignale, um zu vermeiden, dass Sie in einer offensichtlich ungünstigen Form lagern.

  • Erweitern Sie die Stop-Loss-Strategie, setzen Sie einen dynamischen Stop-Loss oder einen Trailing Stop-Loss ein.

  • Optimierung der Positionsverwaltung und Anpassung der Positionsgröße an die Marktbedingungen.

  • Die Einbeziehung von Transaktionsgebühren in die Rückmessung macht die Rückmessung genauer.

Zusammenfassen

Die Ichimoku-Cloud-Band-Umkehrstrategie ist insgesamt eine moderate Trendstrategie. Sie kann Trendwendepunkte effektiv identifizieren und Positionen in die Richtung eines Trends eröffnen. Die Strategie ist jedoch mit bestimmten Überwachungskosten verbunden und muss mit strengen Risikomanagementmaßnahmen kombiniert werden, um langfristig eingesetzt zu werden. Die Stabilität und Profitabilität der Strategie können durch kontinuierliche Optimierung der Parameter-Einstellungen, Einstiegsfilter, Stop-Loss-Methoden usw. weiter verbessert werden.

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

//@version=3
strategy(title="Ichimoku Kumo Twist Strategy (Presets)", shorttitle="Kumo Twist Strategy", overlay=true)

xlowest_(src, len) =>
    x = src
    for i = 1 to len - 1
        v = src[i]
        if (na(v))
            break
        x := min(x, v)
    x

xlowest(src, len) =>
    na(src[len]) ? xlowest_(src, len) : lowest(src, len)

xhighest_(src, len) =>
    x = src
    for i = 1 to len - 1
        v = src[i]
        if (na(v))
            break
        x := max(x, v)
    x

xhighest(src, len) =>
    na(src[len]) ? xhighest_(src, len) : highest(src, len)

dropn(src, n) =>
    na(src[n]) ? na : src

ichiConversionPeriods(presets) =>
    if presets == "Crypto Doubled"
        20
    else
        if presets == "Crypto Singled"
            10
        else
            if presets == "Standard Doubled"
                18
            else
                9

ichiBasePeriods(presets) =>
    if presets == "Crypto Doubled"
        60
    else
        if presets == "Crypto Singled"
            30
        else
            if presets == "Standard Doubled"
                52
            else
                26

ichiLaggingSpan2Periods(presets) =>
    if presets == "Crypto Doubled"
        120
    else
        if presets == "Crypto Singled"
            60
        else
            if presets == "Standard Doubled"
                104
            else
                52

ichiDisplacement(presets) =>
    if presets == "Crypto Doubled"
        30
    else
        if presets == "Crypto Singled"
            30
        else
            if presets == "Standard Doubled"
                26
            else
                26

scaling = input(title="Scaling", options=["Linear", "Log"], defval="Linear")
presets = input(title="Presets",  options=["Crypto Doubled", "Crypto Singled", "Standard Doubled", "Standard Singled"], defval="Crypto Doubled")
dropCandles = input(1, minval=0, title="Drop first N candles")
showClouds = input(false, "Show Clouds")
stoploss = input(true, title="Stop Loss")

conversionPeriods = ichiConversionPeriods(presets)
basePeriods = ichiBasePeriods(presets)
laggingSpan2Periods = ichiLaggingSpan2Periods(presets)
displacement = ichiDisplacement(presets)
logScaling = scaling == "Log"

lows = dropn(low, dropCandles)
highs = dropn(high, dropCandles)

lowsp = logScaling ? log(lows) : lows
highsp = logScaling ? log(highs) : highs

donchian(len) =>
    avg(xlowest(lowsp, len), xhighest(highsp, len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

golong = crossover(leadLine1, leadLine2)
goshort = crossunder(leadLine1, leadLine2)

strategy.entry("Buy", strategy.long, when=golong, stop=(stoploss ? high+syminfo.mintick : na))
strategy.entry("Sell", strategy.short, when=goshort, stop=(stoploss ? low-syminfo.mintick : na))

conversionLinep = logScaling ? exp(conversionLine) : conversionLine
baseLinep = logScaling ? exp(baseLine) : baseLine
leadLine1p = logScaling ? exp(leadLine1) : leadLine1
leadLine2p = logScaling ? exp(leadLine2) : leadLine2

plot(showClouds ? conversionLinep : na, color=#0496ff, title="Conversion Line")
plot(showClouds ? baseLinep : na, color=#991515, title="Base Line")

p1 = plot(showClouds ? leadLine1p : na, offset = displacement, color=green, title="Lead 1")
p2 = plot(showClouds ? leadLine2p : na, offset = displacement, color=red, title="Lead 2")
fill(p1, p2, color = showClouds ? (leadLine1p > leadLine2p ? green : red) : na)