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.
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:
Gehen Sie lang, wenn der Preis über den Tenkan-sen bricht und die Wolke verlässt;
Schließen Sie Long-Positionen, wenn der Preis unter den Tenkan-Sen fällt.
Gehen Sie kurz, wenn der Preis unter den Kijun-sen bricht und in die Wolke geht;
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.
Im Vergleich zu anderen gängigen Handelsstrategien für gleitende Durchschnitte hat diese Strategie folgende Vorteile:
Ichimoku besteht aus mehreren gleitenden Durchschnitten, wodurch es zuverlässiger ist, Trends zu erkennen und Lärm von einzelnen MAs auszufiltern.
Ein zusätzlicher Filter gegen Wolkenbrüche verhindert falsche Signale.
Kontrollierbare Risiken: Die Einstellung der Stop-Loss-Linie ermöglicht zeitnahen Stop-Loss und Risikokontrolle.
Weniger negative Trades im Vergleich zu anderen Trendstrategien reduzieren den Drawdown-Verlust.
Flexible Einstellung der Parameter: Die Parameter können an unterschiedliche Marktbedingungen angepasst werden.
Für diese Strategie sind noch einige Risiken zu beachten:
Schlechte Performance auf den Märkten mit begrenztem Range-Rating.
Unzureichende Erkennung von Trendumkehrungen: Schwach in der Erkennung von kurzfristigen Trendumkehrungen, kann Chancen verpassen oder plötzliche Umkehrungen erleben.
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:
Hinzufügen von Volatilitätsindikatoren zur Erkennung von nicht-trendigen Märkten und Pausenstrategie.
Zusätzliche Umkehrsignale wie gleitende Durchschnittsüberschreitungen einbeziehen.
Verwenden Sie maschinelles Lernen für die automatisierte Optimierung von Parametern anstelle von manuellem Tuning.
Einrichten dynamischer Stop-Loss-Linien basierend auf der Marktvolatilität.
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)