Ichimoku-Trend folgt der Strategie

Schriftsteller:ChaoZhang, Datum: 2023-12-11 15:00:29
Tags:

img

Übersicht

Diese Strategie basiert auf dem Ichimoku-Indikator für den Trend- und Equilibrium-Breakout-Handel und zielt darauf ab, mittel- bis langfristige Preistrends für einen stetigen Gewinn zu erfassen.

Strategie Logik

Die Strategie verwendet die fünf Linien von Ichimoku - Tenkan-sen, Kijun-sen, Senkou Span A, Senkou Span B und Chikou Span, um den Preistrend und die Unterstützungs-/Widerstandsniveaus zu bestimmen.

  1. Wenn die Schließung über Kijun-sen und Kijun-sen nicht flach ist, wird ein Kaufsignal ausgelöst.
  2. Wenn die Kreuzungen unter Kijun-sen und Kijun-sen nicht flach sind, wird ein Verkaufssignal ausgelöst.
  3. Wenn der Closing über der Wolke liegt, ist die Liquidität gut, um Positionen einzunehmen.
  4. Wenn der Schlusspunkt unterhalb der Wolken liegt, ist die Liquidität gering und es sollte vermieden werden, Positionen einzunehmen.
  5. Wenn Chikou Span über den Schlusspunkt geht, wird ein Kaufsignal ausgelöst.
  6. Wenn Chikou Span unter der Schließung überquert wird, wird ein Verkaufssignal ausgelöst.

Die oben genannten Handelssignale werden kombiniert, um den endgültigen Zeitpunkt des Eingangs zu bestimmen.

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Mit Ichimoku kann man Marktlärm filtern und mittelfristige Trends erfassen.
  2. Die Einbeziehung von Cloud-Bedingungen verhindert die Einnahme von Positionen mit geringer Liquidität.
  3. Chikou Span dient als Bestätigung, um einen falschen Ausbruch zu vermeiden.
  4. Die Regeln sind einfach und klar umsetzbar.

Risikoanalyse

Die Risiken dieser Strategie umfassen:

  1. Unangemessene Parameter-Einstellungen können zu fehlenden Handelsmöglichkeiten führen.
  2. Der Trendbeurteilung kann eine Verzögerung entstehen, wenn sich der Trend verändert und der Verlust nicht rechtzeitig abgebaut werden kann.
  3. Höhere Verlustrisiko bei Long-Positionen.

Diese Risiken können durch Optimierung der Parameter, Kombination mit anderen Indikatoren zur Bestimmung von Trendänderungen und strengen Stop-Loss angegangen werden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten weiter optimiert werden:

  1. Ich optimiere Ichimoku-Parameter, um die beste Kombination zu finden.
  2. Hinzufügen von Preis- und Volumenfiltern, um Trendabweichungen zu vermeiden.
  3. Um Umkehrpunkte zu ermitteln, müssen Volatilitätsindikatoren aufgenommen werden.
  4. Fügen Sie maschinelle Lernmodelle hinzu, um den Trendstatus zu bestimmen.

Zusammenfassung

Diese Strategie nutzt Ichimoku, um den Preistrend und die Liquiditätsbedingungen für den Trend zu bestimmen, was das Rauschen effektiv filtern und mittelfristige bis langfristige Trends mit kleineren Drawdowns erfassen kann.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("My Ichimoku Strat", overlay=true,default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, currency=currency.EUR)
// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2014)

// === SERIES SETUP ===
//**** Inputs *******
KijunSenLag = input(6,title="KijunSen Lag",minval=1)

//Kijun-sen
//Support resistance line, buy signal when price crosses it
KijunSen = sma((high+low)/2,26)
buy2 = crossover(close,KijunSen) and (rising(KijunSen,KijunSenLag) or falling(KijunSen,KijunSenLag))
sell2= crossunder(close,KijunSen) and (rising(KijunSen,KijunSenLag) or falling(KijunSen,KijunSenLag))


//Tenkan-Sen
TenkanSen = sma((high+low)/2,9)

//Senkou Span A 
SenkouSpanA = (KijunSen + TenkanSen)/2

//Senkou Span B 
SenkouSpanB = sma((high+low)/2,52)

//Cloud conditions : ignore buy if price is under the cloud
// Huge cloud means safe support and resistance. Little cloud means danger.
buy3 = close > SenkouSpanA and close > SenkouSpanB
sell3 = close < SenkouSpanA and close < SenkouSpanB


//Chikou Span
//Buy signal : crossover(ChikouSpan,close)
//Sell Signal : crossunder(ChikouSpan,close)
ChikouSpan = close
buy1=crossover(ChikouSpan,close[26])
sell1=crossunder(ChikouSpan,close[26])

plotshape(buy1,style=shape.diamond,color=lime,size=size.small)
plotshape(sell1,style=shape.diamond,color=orange,size=size.small)

//Alerts

buyCompteur = -1
buyCompteur := nz(buyCompteur[1],-1)
buyCompteur := buy2 or buy3 ? 1 : buyCompteur
buyCompteur := buyCompteur > 0 ? buyCompteur + 1 : buyCompteur
buyCompteur := sell2 or sell3 ? -1 : buyCompteur

sellCompteur = -1
sellCompteur := nz(sellCompteur[1],-1)
sellCompteur := sell2 or sell3 ? 1 : sellCompteur
sellCompteur := sellCompteur > 0 ? sellCompteur + 1 : sellCompteur
sellCompteur := buy2 or buy3 ? -1 : sellCompteur

sell= sell2 and sell3 or (sell1 and buyCompteur <= 8)
buy=buy2 and buy3 or (buy1 and sellCompteur <=8)
plotchar(buy,char='B',size=size.small,color=lime)
plotchar(sell,char='S',size=size.small,color=orange)

//plots
plot(KijunSen,title="Kijun-Sen",color=blue,linewidth=4)
plot(TenkanSen,title="Tenkan-Sen",color=red,linewidth=2)
cloudA = plot(SenkouSpanA,title="cloud A", color=lime,offset=26,linewidth=2)
cloudB = plot(SenkouSpanB,title="cloud B", color=orange,offset=26,linewidth=2)
plot(ChikouSpan,title="lag span",color=fuchsia, linewidth=2,offset=-26)
//plot()
fill(cloudA,cloudB,color=SenkouSpanA>SenkouSpanB?lime:orange)
//plot(close,color=silver,linewidth=4)

// === ALERTS ===
strategy.entry("L", strategy.long, when=(buy and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))
strategy.close("L", when=(sell and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))

Mehr