Ichimoku Cloud — Pine Script Complet
Ichimoku Kinko Hyo (一目均衡表) signifie littéralement « tableau d’équilibre en un coup d’œil ». Développé par Goichi Hosoda en 1969, c’est l’indicateur le plus complet jamais conçu — il donne tendance, support/résistance, momentum, et signaux d’entrée en un seul outil. Apparence complexe, logique simple une fois comprise.
🎯 5 Composants Clés
1. Tenkan-sen (転換線) : ligne conversion, MA(9) du milieu high/low
2. Kijun-sen (基準線) : ligne base, MA(26)
3. Senkou Span A (先行スパンA) : moyenne Tenkan + Kijun, projetée 26 bougies devant
4. Senkou Span B (先行スパンB) : MA(52), projetée 26 bougies devant
5. Chikou Span (遅行スパン) : prix actuel projeté 26 bougies en arrière
Le « Cloud » (Kumo) = zone entre Senkou A et B. C’est le cœur du système.
Code Pine Script v5 Complet
//@version=5
indicator("Ichimoku Cloud Complet - IA Trader Pro", overlay=true)
// === INPUTS ===
conversionPeriods = input.int(9, "Tenkan-sen Period", minval=1)
basePeriods = input.int(26, "Kijun-sen Period", minval=1)
laggingSpan2Periods = input.int(52, "Senkou Span B Period", minval=1)
displacement = input.int(26, "Displacement", minval=1)
showCloud = input.bool(true, "Show Cloud", group="Visual")
showChikou = input.bool(true, "Show Chikou Span", group="Visual")
showSignals = input.bool(true, "Show TK Cross Signals", group="Visual")
// === FONCTION DONCHIAN (high + low) / 2 ===
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
// === CALCULS ICHIMOKU ===
tenkan = donchian(conversionPeriods)
kijun = donchian(basePeriods)
senkouA = math.avg(tenkan, kijun)
senkouB = donchian(laggingSpan2Periods)
// === PLOTS LIGNES ===
plot(tenkan, "Tenkan-sen", color=#448AFF, linewidth=2)
plot(kijun, "Kijun-sen", color=#FF5252, linewidth=2)
// === PLOTS CLOUD (KUMO) ===
spanAPlot = plot(showCloud ? senkouA : na, "Senkou Span A",
color=color.new(#00E676, 50), offset=displacement, linewidth=1)
spanBPlot = plot(showCloud ? senkouB : na, "Senkou Span B",
color=color.new(#FF5252, 50), offset=displacement, linewidth=1)
fill(spanAPlot, spanBPlot,
color=senkouA > senkouB ? color.new(#00E676, 85) : color.new(#FF5252, 85),
title="Kumo Cloud")
// === CHIKOU SPAN ===
plot(showChikou ? close : na, "Chikou Span",
color=#E040FB, offset=-displacement, linewidth=2)
// === SIGNAUX TK CROSS ===
bullCross = ta.crossover(tenkan, kijun)
bearCross = ta.crossunder(tenkan, kijun)
plotshape(showSignals and bullCross, "TK Bull Cross",
style=shape.triangleup, location=location.belowbar,
color=#00E676, size=size.small, text="TK↑", textcolor=color.white)
plotshape(showSignals and bearCross, "TK Bear Cross",
style=shape.triangledown, location=location.abovebar,
color=#FF5252, size=size.small, text="TK↓", textcolor=color.white)
// === KUMO BREAKOUT ===
priceAboveCloud = close > senkouA[displacement] and close > senkouB[displacement]
priceBelowCloud = close < senkouA[displacement] and close < senkouB[displacement]
kumoBullBreak = ta.crossover(close, math.max(senkouA[displacement], senkouB[displacement]))
kumoBearBreak = ta.crossunder(close, math.min(senkouA[displacement], senkouB[displacement]))
plotshape(kumoBullBreak, "Kumo Bull Break",
style=shape.diamond, location=location.belowbar,
color=#FFD700, size=size.normal, text="KUMO↑", textcolor=color.black)
plotshape(kumoBearBreak, "Kumo Bear Break",
style=shape.diamond, location=location.abovebar,
color=#FFD700, size=size.normal, text="KUMO↓", textcolor=color.black)
// === ALERTES ===
alertcondition(bullCross, "TK Bull Cross", "Tenkan crossed above Kijun on {{ticker}}")
alertcondition(bearCross, "TK Bear Cross", "Tenkan crossed below Kijun on {{ticker}}")
alertcondition(kumoBullBreak, "Kumo Bull Breakout", "Price broke above Kumo on {{ticker}}")
alertcondition(kumoBearBreak, "Kumo Bear Breakout", "Price broke below Kumo on {{ticker}}")
// === DASHBOARD TABLE ===
var table dashboard = table.new(position.top_right, 2, 6,
bgcolor=color.new(#06090F, 10), border_width=1)
if (barstate.islast)
table.cell(dashboard, 0, 0, "Élément", text_color=color.white, bgcolor=color.new(#E040FB, 60))
table.cell(dashboard, 1, 0, "Statut", text_color=color.white, bgcolor=color.new(#E040FB, 60))
cloudColor = senkouA > senkouB ? "🟢 BULL" : "🔴 BEAR"
table.cell(dashboard, 0, 1, "Cloud", text_color=color.white, bgcolor=color.new(#06090F, 50))
table.cell(dashboard, 1, 1, cloudColor,
text_color=senkouA > senkouB ? color.green : color.red,
bgcolor=color.new(#06090F, 50))
pricePos = priceAboveCloud ? "↑ Au-dessus" : priceBelowCloud ? "↓ En-dessous" : "= Dans"
table.cell(dashboard, 0, 2, "Prix vs Cloud", text_color=color.white, bgcolor=color.new(#06090F, 50))
table.cell(dashboard, 1, 2, pricePos,
text_color=priceAboveCloud ? color.green : priceBelowCloud ? color.red : color.yellow,
bgcolor=color.new(#06090F, 50))
tkPos = tenkan > kijun ? "↑ Bull" : "↓ Bear"
table.cell(dashboard, 0, 3, "TK Relation", text_color=color.white, bgcolor=color.new(#06090F, 50))
table.cell(dashboard, 1, 3, tkPos,
text_color=tenkan > kijun ? color.green : color.red,
bgcolor=color.new(#06090F, 50))
chikouPos = close > close[displacement] ? "↑ Clear" : "↓ Bloqué"
table.cell(dashboard, 0, 4, "Chikou", text_color=color.white, bgcolor=color.new(#06090F, 50))
table.cell(dashboard, 1, 4, chikouPos,
text_color=close > close[displacement] ? color.green : color.red,
bgcolor=color.new(#06090F, 50))
// Signal global
bullishAll = priceAboveCloud and tenkan > kijun and senkouA > senkouB and close > close[displacement]
bearishAll = priceBelowCloud and tenkan < kijun and senkouA < senkouB and close < close[displacement]
signal = bullishAll ? "🟢 STRONG BUY" : bearishAll ? "🔴 STRONG SELL" : "⚪ NEUTRE"
table.cell(dashboard, 0, 5, "Signal", text_color=color.white, bgcolor=color.new(#06090F, 50))
table.cell(dashboard, 1, 5, signal,
text_color=bullishAll ? color.green : bearishAll ? color.red : color.yellow,
bgcolor=color.new(#06090F, 50))Comment Interpréter le Dashboard
Le tableau coin droit montre 5 éléments :
- Cloud BULL/BEAR : direction Senkou A vs B
- Prix vs Cloud : au-dessus = bullish, en-dessous = bearish, dans = chop
- TK Relation : Tenkan au-dessus de Kijun = bullish momentum
- Chikou : prix actuel vs prix 26 bougies plus tôt
- Signal global : STRONG BUY si tous 4 alignés bullish, STRONG SELL si tous bearish, NEUTRE sinon
Stratégies Ichimoku
Stratégie 1 : TK Cross (Débutants)
- BUY : Tenkan croise au-dessus de Kijun
- SELL : Tenkan croise au-dessous de Kijun
- Win rate moyen : ~55%
- Avantage : signaux fréquents
- Désavantage : beaucoup de faux signaux dans chop
Stratégie 2 : Kumo Breakout (Intermédiaire)
- BUY : prix casse au-dessus du Cloud (Kumo)
- SELL : prix casse au-dessous du Cloud
- Win rate : ~62%
- Avantage : signaux puissants, moins fréquents
- Désavantage : peut entrer tard dans le move
Stratégie 3 : Confluence Complète (Pro)
- BUY uniquement si TOUT est aligné :
- Prix au-dessus du Cloud
- Cloud futur bullish (Span A > Span B)
- Tenkan > Kijun
- Chikou Span « clear » (au-dessus prix 26 bougies plus tôt)
- Win rate : ~70%
- Trades très peu fréquents mais haute qualité
- Ratio R:R typique 1:3+
Avertissements
⚠️ Limitations Ichimoku
1. Ne fonctionne pas sur V75 — indices synthétiques aléatoires, Ichimoku trend-based
2. Lag inhérent : moyennes lentes, signaux retardés
3. Chop kills : marchés sans tendance produisent faux signaux
4. Visuel complexe : 5 lignes simultanées, peut être confus
5. Pas pour scalping : timeframes M1-M5 = trop bruyants
Best pour : H1, H4, D1 sur forex majeurs, or, BTC, indices boursiers réels.
Pour Traders d’Afrique Francophone
🌍 Recommandations
1. USD/XOF stable : peu utile (peg fixe), peu de mouvement
2. Or (XAU/USD H4) : très efficace, ~70% win rate
3. EUR/USD H1 : excellent en sessions Londres
4. BTC/USD D1 : Ichimoku populaire en crypto
5. Évitez V75 : Ichimoku ne fonctionne pas sur synthétiques aléatoires
🚀 Testez Ichimoku sur Deriv MT5 démo (forex + XAU) :
Ouvrir Compte Démo →