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.
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.
Die oben genannten Handelssignale werden kombiniert, um den endgültigen Zeitpunkt des Eingangs zu bestimmen.
Zu den Vorteilen dieser Strategie gehören:
Die Risiken dieser Strategie umfassen:
Diese Risiken können durch Optimierung der Parameter, Kombination mit anderen Indikatoren zur Bestimmung von Trendänderungen und strengen Stop-Loss angegangen werden.
Die Strategie kann in folgenden Aspekten weiter optimiert werden:
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))))