Die Ressourcen sind geladen. Beförderung...

Ichimoku Kumo Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-05-29 17:23:36
Tags:

img

Übersicht

Diese Strategie verwendet den Ichimoku Kumo-Indikator, um Markttrends und Handelssignale zu bestimmen. Die Strategie geht lang, wenn der Preis unterhalb der Kumo-Wolke liegt, und kurz, wenn der Preis über der Kumo-Wolke liegt. Die Strategie verwendet den ATR-Indikator für Stop-Loss und bestätigt Eintrittssignale mit Ausbrüchen der Kijun-sen- und Senkou Span-Linien. Die Strategie zielt darauf ab, Handelschancen in starken Trends zu erfassen und gleichzeitig das Risiko zu kontrollieren.

Strategieprinzip

  1. Verwenden Sie die Kijun-sen-, Tenkan-sen- und Senkou Span-Linien des Ichimoku-Indikators, um Markttrends zu bestimmen.
  2. Erzeugen Sie ein langes Signal, wenn der Schlusskurs unterhalb der Senkou Span-Linie und die Kijun-sen-Linie über der Kumo-Wolke liegt.
  3. Erzeugen Sie ein Kurzsignal, wenn der Schlusskurs über der Senkou Span-Linie und die Kijun-sen-Linie unter der Kumo-Wolke liegt.
  4. Berechnen Sie die Stop-Loss-Position anhand des ATR-Indikators, der der höchste/niedrigste Punkt der letzten 5 Kerzen minus/plus 3 mal der ATR ist.
  5. Schließen Sie die Position, wenn der Preis das Stop-Loss-Niveau überschreitet.

Strategische Vorteile

  1. Die Strategie basiert auf dem Ichimoku-Indikator, der eine umfassende Analyse der Marktentwicklung liefert.
  2. Die Strategie berücksichtigt die Beziehung zwischen Preis, Kijun-sen-Linie und Senkou Span-Linie, wodurch die Zuverlässigkeit der Eingangssignale verbessert wird.
  3. Die Verwendung von ATR für den Stop-Loss ermöglicht eine dynamische Anpassung der Stop-Loss-Position und eine bessere Kontrolle des Risikos.
  4. Die Einstellung des Stop-Loss berücksichtigt die Volatilität des Marktes und passt sich den unterschiedlichen Marktbedingungen an.

Strategische Risiken

  1. Die Strategie kann in unruhigen Märkten zahlreiche falsche Signale erzeugen, was zu häufigen Trades und Kapitalverlusten führt.
  2. Die Performance der Strategie hängt von der Auswahl der Ichimoku-Indikatorparameter ab, und verschiedene Parameter können unterschiedliche Handelsergebnisse ergeben.
  3. In volatilen Märkten können die Preise schnell die Stop-Loss-Position überschreiten und dadurch erhebliche Schwankungen und Verluste verursachen.

Strategieoptimierungsrichtlinien

  1. Einführung anderer technischer Indikatoren oder Preis-Volumen-Analysen zur Ermittlung von Trends und Eintrittszeiten, um die Signalgenauigkeit zu verbessern.
  2. Optimieren Sie die Stop-Loss-Einstellungen, z. B. die Berücksichtigung von Trailing-Stops oder Moving-Stop-Loss, um die Sicherheit des Kontos besser zu schützen.
  3. Einbeziehung der Positionsgröße in die Strategie und Anpassung der Größe jedes Handels anhand der Marktvolatilität und des Kontorisikos.
  4. Durchführung von Parameteroptimierungen der Strategie, um die für die aktuellen Marktbedingungen am besten geeignete Parameterkombination zu finden.

Zusammenfassung

Diese Strategie nutzt mehrere Komponenten des Ichimoku-Indikators, um Markttrends umfassend zu analysieren. Gleichzeitig verwendet die Strategie ATR-Stop-Loss, um das Risiko zu kontrollieren und die Robustheit der Strategie zu verbessern. Die Strategie kann jedoch in unterschiedlichen Märkten unterdurchschnittlich sein und beruht auf Parameterwahl. In Zukunft kann die Strategie-Leistung durch die Einführung anderer Analysemethoden, die Optimierung von Stop-Loss und Positionsgrößen und andere Mittel weiter verbessert werden.


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © muratatilay

//@version=5
strategy(
     "Kumo Trade Concept", 
     overlay=true,
     initial_capital=10000,
     currency=currency.USDT,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=30,
     commission_type=strategy.commission.percent,
     commission_value=0.1,
     margin_long=10, 
     margin_short=10)


// ICHIMOKU Lines 
//  INPUTS
tenkanSenPeriods = input.int(9, minval=1, title="Tenkan-sen")
kijunSenPeriods = input.int(26, minval=1, title="Kijun-sen")
senkouBPeriod = input.int(52, minval=1, title="Senkou span B")
displacement = input.int(26, minval=1, title="Chikou span")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
tenkanSen = donchian(tenkanSenPeriods)
kijunSen = donchian(kijunSenPeriods)
senkouA = math.avg(tenkanSen, kijunSen)
senkouB = donchian(senkouBPeriod)

// Other Indicators
float   atrValue    = ta.atr(5)

// Calculate Senkou Span A 25 bars back
senkouA_current = math.avg(tenkanSen[25], kijunSen[25])
// Calculate Senkou Span B 25 bars back
senkouB_current = math.avg(ta.highest(senkouBPeriod)[25], ta.lowest(senkouBPeriod)[25])

// Kumo top bottom 
senkou_max = (senkouA_current >= senkouB_current) ? senkouA_current : senkouB_current
senkou_min = (senkouB_current >= senkouA_current) ? senkouA_current : senkouB_current

// Trade Setups
long_setup = (kijunSen > senkou_max) and (close < senkou_min) 
short_setup = (kijunSen < senkou_min ) and ( close > senkou_max ) 

// Check long_setup for the last 10 bars
long_setup_last_10 = false
for i = 0 to 50
    if long_setup[i]
        long_setup_last_10 := true
short_setup_last_10 = false
for i = 0 to 50
    if short_setup[i]
        short_setup_last_10 := true


closeSenkouCross = (close > senkou_max) and barstate.isconfirmed 
closeKijunCross = (close > kijunSen ) 

senkouCloseCross = close < senkou_min
kijunCloseCross = close < kijunSen


// Handle Trades
// Enter Trade
var float trailStopLong = na
var float trailStopShort = na
if ( closeSenkouCross and long_setup_last_10 and closeKijunCross ) 
    strategy.entry(id="Buy", direction = strategy.long)
    trailStopLong := na
if senkouCloseCross and short_setup_last_10 and kijunCloseCross
    strategy.entry(id="Sell", direction = strategy.short)
    trailStopShort := na


// Update trailing stop
float temp_trailStop_long = ta.highest(high, 5) - (atrValue * 3)
float temp_trailStop_short = ta.lowest(low, 5) + (atrValue * 3)
if strategy.position_size > 0
    if temp_trailStop_long > trailStopLong or na(trailStopLong)
        trailStopLong := temp_trailStop_long
if strategy.position_size < 0
    if temp_trailStop_short < trailStopShort or na(trailStopShort)
        trailStopShort := temp_trailStop_short

// Handle strategy exit
if close < trailStopLong and barstate.isconfirmed
    strategy.close("Buy", comment="Stop Long")
if close > trailStopShort and barstate.isconfirmed
    strategy.close("Sell", comment="Stop Short")


// PRINT ON CHART
plot(kijunSen, color=color.rgb(214, 58, 30), title="Kijun-sen", linewidth=2)
p1 = plot(senkouA, offset=displacement - 1, color=#A5D6A7, title="Senkou span A")
p2 = plot(senkouB, offset=displacement - 1, color=#EF9A9A, title="Senkou Span B")
fill(p1, p2, color=senkouA > senkouB ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
// PRINT SETUPS
plotshape(long_setup , style=shape.circle, color=color.green, location=location.belowbar, size=size.small)
plotshape(short_setup, style=shape.circle, color=color.red, location=location.abovebar, size=size.small)

// Trail Stop
plot(strategy.position_size[1] > 0 ? trailStopLong : na, style=plot.style_linebr, color=color.purple, title="Stop Loss")
plot(strategy.position_size[1] < 0 ? trailStopShort : na, style=plot.style_linebr, color=color.purple, title="Stop Loss")


Mehr