Cette stratégie s'appelle
La stratégie est principalement basée sur le système Ichimoku Kinko Hyo, qui intègre plusieurs indicateurs techniques pour le trading de tendance.
Kijun Sen: représente la direction de la tendance du marché. C'est le point médian du prix le plus élevé et le plus bas au cours des 26 derniers jours, agit comme des lignes de support et de résistance. Les signaux d'achat et de vente sont générés lorsque le prix de clôture traverse Kijun Sen.
Tenkan Sen: représente la dynamique du prix. C'est le point médian du prix le plus élevé et le plus bas au cours des 9 derniers jours, aide à déterminer les meilleurs points d'entrée et de sortie.
Senkou Span A: représente la ligne intermédiaire d'Ichimoku. C'est la moyenne de Kijun Sen et Tenkan Sen, qui sert de ligne d'avertissement d'Ichimoku.
Senkou Span B: représente la ligne de tendance à long terme. C'est le point médian des 52 derniers jours. Forme le nuage Ichimoku pour déterminer les tendances à long et à court terme.
En outre, la stratégie intègre également l'indicateur RSI pour générer des signaux de négociation dans les zones de surachat et de survente.
Les signaux d'achat sont générés lorsque le prix de clôture dépasse Kijun Sen et se situe au-dessus du nuage. Les signaux de vente sont générés lorsque le prix de clôture dépasse Kijun Sen et se situe en dessous du nuage.
Le système Ichimoku détermine avec précision les tendances avec un taux de gain relativement élevé.
L'intégration de plusieurs indicateurs permet d'éviter de manquer des opportunités.
Le RSI détermine efficacement les points d'inversion.
Le Cloud présente intuitivement les tendances à long et à court terme.
Le système Ichimoku a un certain retard, il faut intégrer d'autres indicateurs.
Il fonctionne très bien sur les marchés tendance mais modestement sur les marchés variés.
Les paramètres RSI doivent être ajustés en fonction des marchés.
La construction des nuages est complexe et nécessite une manipulation habile.
Les paramètres d'Ichimoku peuvent être optimisés ou plus d'indicateurs peuvent être ajoutés.
Optimisez les paramètres d'Ichimoku pour déterminer les tendances plus rapidement.
Ajouter plus d'indicateurs comme les moyennes mobiles pour améliorer la précision du signal.
Ajustez le paramètre RSI en fonction des différents marchés.
Envisager d'ajouter des mécanismes de stop loss pour contrôler les risques.
L'Ichimoku combiné à des indicateurs tels que le RSI a une grande précision dans la capture des tendances haussières. Le retard de l'Ichimoku et l'inadaptabilité dans les marchés variés sont des risques majeurs.
/*backtest start: 2022-12-13 00:00:00 end: 2023-12-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("My Ichimoku Strat v2", overlay=true,default_qty_type=strategy.fixed, default_qty_value=1, initial_capital=1000, currency=currency.EUR,commission_type=strategy.commission.percent,commission_value=0.05) // === BACKTEST RANGE === FromMonth = input(defval = 3, title = "From Month", minval = 1) FromDay = input(defval = 1, title = "From Day", minval = 1) FromYear = input(defval = 2018, 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 //RSI src = close, len = input(14, minval=1, title="RSI Length") up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) buyRSI = crossover(rsi,40) and close > TenkanSen and rsi[5]<30 and (rsi-rsi[1])>5 sellRSI = crossunder(rsi,60) and close < TenkanSen and rsi[5]>70 and (rsi[1]-rsi)>5 plotshape(buyRSI,style=shape.triangleup,color=lime,transp=0,location=location.belowbar,size=size.small) sell= sell2 and sell3 or (sell1 and buyCompteur <= 8) or sellRSI buy=buy2 and buy3 or (buy1 and sellCompteur <=8) or buyRSI 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))))