Die Strategie zur Nachverfolgung der Oktagon-Wolken

Schriftsteller:ChaoZhang, Datum: 2023-12-20 15:08:22
Tags:

img

Übersicht

Es handelt sich um eine quantitative Trend-Folge-Strategie, die auf dem Ichimoku-Indikator basiert und hauptsächlich lange und kurze Positionen unter bestimmten Bedingungen erstellt, um Markttrends zu verfolgen, kombiniert mit bestimmten Stop-Loss-Mechanismen zur Risikokontrolle.

Strategieprinzip

Der Kern dieser Strategie besteht darin, Handelssignale auf der Grundlage des Ichimoku-Indikators mit bestimmten Parameter-Einstellungen zu erstellen. Der Ichimoku-Indikator besteht aus vier Linien: der Konversionslinie, der Basislinie, der führenden Spanne A und der zurückliegenden Spanne B. Die Konversionslinie ist allgemein als Tenkan-sen bekannt und die Basislinie wird als Kijun-sen bezeichnet. Diese Strategie setzt verschiedene Parameter für Tenkan-sen und Kijun-sen fest, um goldenen Kreuz- und toten Kreuz-Handelssignale zu generieren. Darüber hinaus beinhaltet sie auch Cloud-Breakouts als Hilfsbedingung zur Auslösung von Einträgen.

Insbesondere folgt die Strategie in erster Linie den folgenden Handelsregeln:

  1. Gehen Sie lang, wenn der Preis über den Tenkan-sen bricht und die Wolke verlässt;

  2. Schließen Sie Long-Positionen, wenn der Preis unter den Tenkan-Sen fällt.

  3. Gehen Sie kurz, wenn der Preis unter den Kijun-sen bricht und in die Wolke geht;

  4. Schließen Sie Short-Positionen, wenn der Preis wieder über den Tenkan-sen steigt.

Durch solche langen und kurzen Handelsprinzipien kann die Strategie Trends auf dem Markt effektiv erfassen.

Analyse der Vorteile

Im Vergleich zu anderen gängigen Handelsstrategien für gleitende Durchschnitte hat diese Strategie folgende Vorteile:

  1. Ichimoku besteht aus mehreren gleitenden Durchschnitten, wodurch es zuverlässiger ist, Trends zu erkennen und Lärm von einzelnen MAs auszufiltern.

  2. Ein zusätzlicher Filter gegen Wolkenbrüche verhindert falsche Signale.

  3. Kontrollierbare Risiken: Die Einstellung der Stop-Loss-Linie ermöglicht zeitnahen Stop-Loss und Risikokontrolle.

  4. Weniger negative Trades im Vergleich zu anderen Trendstrategien reduzieren den Drawdown-Verlust.

  5. Flexible Einstellung der Parameter: Die Parameter können an unterschiedliche Marktbedingungen angepasst werden.

Risiken und Optimierung

Für diese Strategie sind noch einige Risiken zu beachten:

  1. Schlechte Performance auf den Märkten mit begrenztem Range-Rating.

  2. Unzureichende Erkennung von Trendumkehrungen: Schwach in der Erkennung von kurzfristigen Trendumkehrungen, kann Chancen verpassen oder plötzliche Umkehrungen erleben.

  3. Abhängigkeit von empirischem Parameter-Tuning. Verschiedene Parameter können die Leistung erheblich beeinflussen, was reichlich historische Erfahrung erfordert.

Die folgenden Aspekte können optimiert werden, um den oben genannten Risiken entgegenzuwirken:

  1. Hinzufügen von Volatilitätsindikatoren zur Erkennung von nicht-trendigen Märkten und Pausenstrategie.

  2. Zusätzliche Umkehrsignale wie gleitende Durchschnittsüberschreitungen einbeziehen.

  3. Verwenden Sie maschinelles Lernen für die automatisierte Optimierung von Parametern anstelle von manuellem Tuning.

  4. Einrichten dynamischer Stop-Loss-Linien basierend auf der Marktvolatilität.

Schlussfolgerung

Im Allgemeinen nutzt diese Strategie die Stärke von Ichimoku beim Auffangen von Trendbewegungen.


/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="RENKO ICHIMOKU STRATEGY", shorttitle="RENKO ICHIMOKU STRATEGY", overlay=true)
ro = open
rc = close

tenkanSenPeriods = input(10, minval=1, title="Tenkan-sen"),
kijunSenPeriods = input(30, minval=1, title="Kijun-sen")
SenkouSpanBPeriods = input(60, minval=1, title="Senkou Span B"),
displacement = input(30, minval=1, title="Chikou Span (Displacement)")

donchian(len) => avg(lowest(len), highest(len))

tenkanSen = donchian(tenkanSenPeriods)
kijunSen = donchian(kijunSenPeriods)
SenkouSpanA = avg(tenkanSen, kijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)

plot(tenkanSen, color=#0496ff, linewidth=2, title="Tenkan-sen")
// plot(kijunSen, color=#991515, title="Kijun-sen")
// plot(close, offset = -displacement, color=#459915, title="Chikou Span")

p1 = plot(SenkouSpanA, offset = displacement, color=green, title="Senkou Span A")
p2 = plot(SenkouSpanB, offset = displacement, color=red, title="Senkou Span B")
fill(p1, p2, color = SenkouSpanA > SenkouSpanB ? green : red)

// Entry/Exit Signals
tk_cross_bull = tenkanSen > kijunSen
tk_cross_bear = tenkanSen < kijunSen

price_below_tenkan = open < tenkanSen and close < tenkanSen
price_above_tenkan = open > tenkanSen and close > tenkanSen

price_below_kinjun = close < kijunSen
price_above_kinjun = close > kijunSen

tekan_above_kinjun = tenkanSen > kijunSen
tekan_below_kinjun = tenkanSen < kijunSen

ss_high = max(SenkouSpanA[displacement-1], SenkouSpanB[displacement-1])
ss_low = min(SenkouSpanA[displacement-1], SenkouSpanB[displacement-1])
price_inside_kumo = close > ss_high and close < ss_low

price_below_kumo = rc[1] < ro[1] and rc[0] < ro[0] and rc[1] < ss_low 
price_above_kumo = rc[1] > ro[1] and rc[0] > ro[0] and rc[1] > ss_high 

cs_cross_bull = mom(close, displacement-1) > 0
cs_cross_bear = mom(close, displacement-1) < 0

bullish = cs_cross_bull and not price_inside_kumo
bearish = cs_cross_bear and not price_inside_kumo



strategy.entry("Long", strategy.long, when=price_above_kumo and price_above_tenkan )
strategy.close("Long", when=price_below_tenkan )

strategy.entry("Short", strategy.short, when=price_below_kumo and price_below_tenkan )
strategy.close("Short", when=price_above_tenkan )

// longCondition = crossover(sma(close, 14), sma(close, 28))
// if (longCondition)
//     strategy.entry("My Long Entry Id", strategy.long)

// shortCondition = crossunder(sma(close, 14), sma(close, 28))
// if (shortCondition)
//     strategy.entry("My Short Entry Id", strategy.short)

Mehr