Ichimoku Kinko Hyo Indikator Ausgleichstrendstrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-24 14:38:47
Tags:

img

Übersicht

Die Balancing Trend-Strategie ist eine Trend-Folge-Strategie, die den Ichimoku Kinko Hyo-Indikator verwendet. Sie identifiziert Trendrichtungen durch Kombination mehrerer Indikatoren, geht in einem Bullenmarkt lang und geht in einem Bärenmarkt kurz, um eine langfristige Kapitalerhöhung zu erzielen.

Strategieprinzip

Der Kern dieser Strategie basiert auf dem Ichimoku Kinko Hyo-Indikator, der aus dem Tenkan-Sen (Konversionslinie), Kijun-Sen (Basislinie), Senkou Span A (Leading Span A), Senkou Span B (Leading Span B) und Chikou Span (Lagging Span) besteht.

Die Handelssignale werden auf der Grundlage der folgenden Bedingungen erzeugt:

  1. Tenkan-Sen überquert Kijun-Sen als Aufwärtssignal
  2. Tenkan-Sen überschreitet Kijun-Sen als niedriges Signal
  3. Chikou Span-Crossover nach oben als bullische Bestätigung
  4. Chikou Span-Crossover nach unten als Bärenbestätigung
  5. RSI über 50 als bullischer Indikator
  6. RSI unter 50 als Bärenindikator
  7. Preis über der Wolke zeigt Aufwärtstrend
  8. Preis unter der Wolke zeigt Abwärtstrend

Es geht lang, wenn alle bullischen Bedingungen erfüllt sind, und kurz, wenn alle bärischen Bedingungen erfüllt sind.

Analyse der Vorteile

Diese Strategie kombiniert Trend-folgende und überkaufte Überverkaufsindizes, um Trendrichtungen effektiv zu identifizieren.

  1. Ichimoku Kinko Hyo kann mittelfristige bis langfristige Trends erkennen und vermeidet, von kurzfristigen Marktgeräuschen irregeführt zu werden.
  2. Die Einbeziehung des RSI hilft bei der Bestimmung von Überkauf- und Überverkaufszonen und verhindert, dass Rückschlagmöglichkeiten verpasst werden.
  3. Handelt nur, wenn die Volatilität hoch genug ist, um ineffektive Trades zu vermeiden.
  4. Strenge Ein- und Ausstiegsregeln mindern die Risiken so weit wie möglich.

Risikoanalyse

Einige Risiken für diese Strategie:

  1. Ichimoku Kinko Hyo hat einen Verzögerungseffekt, der möglicherweise den Einstiegszeitpunkt verzögert.
  2. Niedrige Häufigkeit des Auftretens von Handelssignalen mit einer Kombination mehrerer Bedingungen, was zu einer unzureichenden Anzahl von Trades führt.
  3. Keine Berücksichtigung der Positionsgröße und des Risikomanagements, Risiken bei Überhandelungen.

Entsprechende Lösungen

  1. Ich verkürze die Ichimoku-Parameter, um die Empfindlichkeit zu verbessern.
  2. Verringerung der Strenge der Eingangsbedingungen zur Erhöhung der Handelsfrequenz.
  3. Einbeziehung von Risikomanagement- und Positionsgrößenmodulen zur Steuerung des Risikopositionsrisikos und der Gesamtposition pro Handel.

Optimierungsrichtlinien

Die Strategie kann in folgenden Bereichen verbessert werden:

  1. Zusätzliche Indikatoren wie KDJ, MACD hinzufügen oder kombinieren, um die Signalquellen zu diversifizieren.
  2. Ich optimiere Ichimoku-Parameter, um die Empfindlichkeit zu verbessern.
  3. Hinzufügen von Stop-Loss-Mechanismen, um Gewinne und Risiken zu kontrollieren.
  4. Einbeziehung eines dynamischen Positionsgrößenmoduls basierend auf der Kontogröße.
  5. Zusätzliche Sicherungsmodule zur Risikomanagement für Longpositionen.

Zusammenfassung

Insgesamt ist diese Balancing Trend-Strategie ein zuverlässiges, robustes Trend-Folgesystem. Sie befasst sich mit der Schlüsselherausforderung im Trendhandel - Balancing Trend Identification Genauigkeit und Handelsgenerierungsfrequenz. Es gibt noch Raum für Verbesserungen durch Parameter-Tuning und Modul-Erweiterung. Es ist eine Strategie, die auf lange Sicht angewendet werden kann.


/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Ichimoku Kinko Hyo: ETH 3h Strategy by tobuno", overlay=true)

//Inputs
ts_bars = input(22, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(60, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

//Volatility
vollength = input(defval=2, title="VolLength")
voltarget = input(defval=0.2, type=float, step=0.1, title="Volatility Target")
Difference = abs((close - open)/((close + open)/2) * 100)
MovingAverage = sma(Difference, vollength)
highvolatility = MovingAverage > voltarget

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, 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
 
////////////////////////////////////////////////////////////////////////////////

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

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)

//RSI
change = change(close)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? green : red, title="Cloud color")

ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish and highvolatility

strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)

strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)


Mehr