Dies ist eine einfache, aber profitable Trend-Tracking-Strategie, die auf einem einstündigen Zeitrahmen TENKAN und KIJUN im ICHIMOKU-System kombiniert mit dem ADX-Indikator basiert, um schwache Trending-Märkte auszufiltern, um Handelssignale zu generieren.
Die Strategie verwendet die Kreuzung der Konversionslinie (TENKAN) und der Basislinie (KIJUN) im ICHIMOKU-System, um die Markttrendrichtung zu bestimmen. Die TENKAN-Linie wird auf der Grundlage des Durchschnitts des höchsten Hochs und des niedrigsten Tiefs der letzten 18 Kerzen berechnet, was eine schnelle Konversionslinie darstellt. Die KIJUN-Linie basiert auf 58 Kerzenperioden und steht für die Standardkonversionslinie.
Wenn TENKAN über KIJUN kreuzt, ist es ein Aufwärtssignal. Wenn TENKAN unter KIJUN kreuzt, ist es ein Bärensignal. Dies zielt darauf ab, eine mittelfristige Trendwende zu erfassen.
Darüber hinaus wird der ADX-Indikator verwendet, um die Stärke des Trends zu messen.
Zusammenfassend lässt sich mit dieser Strategie mittelfristige Trendrichtung über TENKAN und KIJUN-Kreuzungen ermitteln und mit Hilfe von ADX falsche Ausbrüche ausfiltern, um langfristige Trends zu verfolgen.
Die wichtigsten Vorteile dieser Strategie sind:
Die Verwendung eines ausgereiften und zuverlässigen ICHIMOKU-Systems zur Bestimmung der Trendrichtung und der Wendepunkte.
Filtern Sie schwache Markttrends aus, indem Sie ADX verwenden, um Whipsaws bei der Konsolidierung zu vermeiden.
Der einstündige Zeitrahmen filtert Marktlärm und erfasst nur mittelfristige und langfristige Trends.
Die Logik ist für Trend-Händler einfach und einfach zu verstehen.
Solide Backtest-Ergebnisse vor allem bei hochkapitalisierten Münzen wie ETH/BTC.
Einige Risiken bei dieser Strategie:
Ichimoku-Parameter sind empfindlich, müssen für verschiedene Paare angepasst werden.
ADX kann in manchen Fällen verzögert sein, was zu einem fehlenden Einstieg führt.
Unterdurchschnittliche Performance in verschiedenen Märkten mit häufigen Stop-Loss-Hits.
Die Leistung variiert stark zwischen verschiedenen Paaren und Zeitrahmen.
Eine lange Haltung von Positionen kann riskant sein, ein angemessener Stop-Loss/Take-Profit ist erforderlich.
Die Optimierung kann über ADX-Parameter-Tuning, das Hinzufügen von Filtern wie MACD zur Verringerung falscher Signale oder die dynamische Anpassung von Parametern für Robustheit erfolgen.
Einige wichtige Richtungen zur Verbesserung der Strategie:
Dynamische Optimierung der TENKAN- und KIJUN-Parameter für eine bessere Anpassung.
Suche nach besseren Trendindikatoren, die ADX ersetzen oder kombinieren können.
Hinzufügen von Stop-Loss/Take-Profit, um das Risiko-Rendite-Verhältnis zu kontrollieren.
Die Modellierung mit ergänzenden Indikatoren kombinieren, um die Stabilität zu verbessern.
Modularisierung und Flexibilität für Parameter-Tuning auf mehr Paaren.
Quantitatives Risikomanagement, z. B. maximale Abzugskontrolle gegen extreme Bewegungen.
Zusammenfassend ist dies eine einfache, aber praktische Trendverfolgungsstrategie, die hauptsächlich auf TENKAN/KIJUN Cross und ADX basiert, um mittelfristige bis langfristige Trends zu identifizieren und Signale zu generieren. Sie hat positive Rücktests gezeigt, insbesondere bei BTC-Paaren mit hoher Marktkapitalisierung wie ETH/BTC, mit relativ stabiler Rentabilität. Aber sie setzt auch auf Parameter-Tuning, erfordert eine Optimierung pro Paar. Risikokontrolle pro Handel ist auch notwendig, um Verluste zu begrenzen, wenn sich Trends umkehren. Insgesamt bietet dies eine wertvolle Referenz für eine Trendfolgestrategie für Algo-Händler.
/*backtest start: 2023-11-07 00:00:00 end: 2023-12-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="Odin's Kraken (TK Cross Strategy)", shorttitle="Odin's Kraken", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) src = input(close, title="Source") // define tk in ichimoku conversionPeriods = input(18, minval=1, title="Conversion Line Periods (Tenkan)"), basePeriods = input(58, minval=1, title="Base Line Periods (Kijun)") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) TK_Uptrend = crossover(conversionLine,baseLine) TK_Downtrend = crossunder(conversionLine,baseLine) plot(conversionLine, color=lime, title="Tenkan", linewidth=3) plot(baseLine, color=red, title="Kijun", linewidth=3) // define ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") th = input(title="threshold", defval=20) dirmov(len) => up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / truerange) minus = fixnan(100 * rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) [plus, minus] = dirmov(dilen) sig = adx(dilen, adxlen) // backtesting range // From Date Inputs fromDay = input(defval = 3, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2018, title = "From Year", minval = 1970) // To Date Inputs toDay = input(defval = 3, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 9, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2019, title = "To Year", minval = 1970) // Calculate start/end date and time condition startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true // open long and short longCondition = TK_Uptrend if (longCondition and sig > 12 and time_cond) strategy.entry("LONG", strategy.long) shortCondition = TK_Downtrend if (shortCondition and sig > 12 and time_cond) strategy.entry("SHORT", strategy.short) // close trade if backtesting criteria not met if (not time_cond) strategy.close_all()