Die Ressourcen sind geladen. Beförderung...

Ichimoku führt die Strategie ein

Schriftsteller:ChaoZhang, Datum: 2024-01-31 15:23:21
Tags:

img

Übersicht

Die Ichimoku-Einträge sind eine quantitative Strategie, die die Trendrichtung anhand von Ichimoku-Cloud-Charts identifiziert und Handelssignale in Kombination mit Bollinger-Bändern und RSI-Indikatoren erzeugt.

Strategie Logik

Der Kern dieser Strategie liegt in den beiden wichtigen Linien des Ichimoku-Wolkendiagramms - der Tenkan-Linie und der Kijun-Linie. Die Tenkan-Linie ist der Durchschnitt des höchsten Hochs und des niedrigsten Tiefs der letzten 9 Tage, der den kurzfristigen Trend darstellt. Die Kijun-Linie ist der Durchschnitt des höchsten Hochs und des niedrigsten Tiefs der letzten 26 Tage, der den mittelfristigen bis langfristigen Trend darstellt. Wenn die Tenkan-Linie über die Kijun-Linie kreuzt, signalisiert sie einen Eintrag zum Longen. Wenn die Tenkan-Linie unter die Kijun-Linie fällt, signalisiert sie einen Eintrag zum Shorten. Dies beurteilt die aktuelle Trendrichtung.

Neben der Ichimoku-Wolke betrachtet die Strategie auch die Bollinger Bands und den RSI-Indikator, um Handelssignale zu generieren. Es gilt als ein Zeichen für abnormale Preisaktivität, wenn der Schlusskurs durch die oberen oder unteren Bollinger Bands bricht.

Bei der Exit-Logik prüft die Strategie, ob der Bollinger Bands-Breakout erfolgreich ist und ob der Trade Proximity Oscillator die Null-Achse überschreitet, um zu entscheiden, ob Gewinne erzielt oder Verluste eingestellt werden.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sie die Trendbestimmung und abnormale Preisschwankungen kombiniert, um die Handelsrichtung zu ermitteln. Die Ichimoku-Wolke zeigt den Trend deutlich auf, während Bollinger Bands Anomalien erfassen. Der RSI filtert effektiv falsche Ausbrüche aus. Die Verwendung mehrerer koordinierter Indikatoren macht die Handelssignale zuverlässiger. Darüber hinaus hilft die Stop-Loss- und Take-Profit-Logik, Gewinne zu erzielen und riesige Verluste zu vermeiden.

Risikoanalyse

Trotz des Vorteils, Trends und Anomalien zu identifizieren, birgt die Strategie immer noch einige Risiken. Da sie mit Trends zusammen handelt, können viele falsche Signale in verschiedenen Märkten auftreten. Falsche Parameter-Einstellungen können auch die Leistung der Strategie verschlechtern. Schrittweise Optimierung wird empfohlen, um verschiedene Parameterkombinationen zu testen und die optimalen Werte zu finden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten verbessert werden:

  1. Testen Sie verschiedene Parameterkombinationen, wie Bollinger-Periode, RSI-Periode usw.
  2. Einführung von Modellen für maschinelles Lernen, dynamische Ausgabe von Parametern auf der Grundlage historischer Daten.
  3. Einbeziehen Sie den Informationsfluss, um die Marktemotion zu bestimmen, vermeiden Sie falsche Bewegungen in kritischen Momenten.
  4. Fügen Sie bedingte Stop-Loss-Methoden hinzu, wie zum Beispiel Trailing Stop, um Gewinne zu erhalten.

Schlussfolgerung

Die Ichimoku-Eintritts-Strategie ist eine multi-Indikator-integrierte Trend-Handelsstrategie. Durch das Beurteilen sowohl der Trendrichtung als auch der Preisanomalien erfasst sie den Marktrhythmus ziemlich zuverlässig. Obwohl es Verbesserungsmöglichkeiten gibt, ist dies insgesamt eine Strategie mit konsistenter Leistung und kontrollierbaren Risiken. Parameter-Tuning und Einführung von maschinellem Lernen könnten diese Strategie noch herausragender machen.


/*backtest
start: 2023-01-30 00:00:00
end: 2024-01-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ichi strategy", overlay=true)

// Input parameters
rsiLength = input(14, title="RSI Length")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")
stopLossPct = input(1, title="Stop Loss Percentage")
takeProfitPct = input(2, title="Take Profit Percentage")

// Calculate Ichimoku Cloud components
tenkan = ta.sma(high + low, 9) / 2
kijun = ta.sma(high + low, 26) / 2
senkouA = (tenkan + kijun) / 2
senkouB = ta.sma(high + low, 52) / 2

// Bollinger Bands
basis = ta.sma(close, bbLength)
upperBB = basis + bbMultiplier * ta.stdev(close, bbLength)
lowerBB = basis - bbMultiplier * ta.stdev(close, bbLength)

// RSI
rsiValue = ta.rsi(close, rsiLength)

// Trade Proximity Oscillator
length = input(14, title="Channels Length")
multiplier = input(2, title="Channels Multiplier")
atr_length = input(14, title="ATR Length")
threshold_percentage = input(1.5, title="Threshold Percentage (%)")

ma = ta.sma(close, length)
std_dev = ta.stdev(close, length)
upper_band = ma + multiplier * std_dev
lower_band = ma - multiplier * std_dev
distance_upper = close - upper_band
distance_lower = lower_band - close
atr_value = ta.atr(atr_length)
threshold = atr_value * threshold_percentage
oscillator = distance_upper - distance_lower

// Strategy logic
longCondition = close > upperBB and tenkan > kijun and ta.crossover(close, basis) and rsiValue < 70
shortCondition = close < lowerBB and tenkan < kijun and ta.crossunder(close, basis) and rsiValue > 30

strategy.entry("Long", strategy.long, when = longCondition)
strategy.entry("Short", strategy.short, when = shortCondition)

// Exit logic
longExitCondition = close < upperBB and ta.crossover(oscillator, 0)
shortExitCondition = close > lowerBB and ta.crossunder(oscillator, 0)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=close - close * stopLossPct / 100, profit=close + close * takeProfitPct / 100, when = longExitCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=close + close * stopLossPct / 100, profit=close - close * takeProfitPct / 100, when = shortExitCondition)

// Plotting
plot(senkouA, color=color.green, title="Senkou A")
plot(senkouB, color=color.red, title="Senkou B")
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")

// Additional Plots
plot(tenkan, color=color.orange, title="Tenkan")
plot(kijun, color=color.purple, title="Kijun")



Mehr