14 — Trend & Momentum

Ichimoku Cloud#

Debated1 min read
◆ The PatternMidpoints of past highs and lows, some shifted forward in time, to show balance, trend and support at a glance

The Ichimoku Kinko Hyo ("one glance equilibrium chart") — Goichi Hosoda, 1960s Japan.

Tenkan-sen = (9-period high + 9-period low) / 2
Kijun-sen = (26-period high + 26-period low) / 2
Senkou A = (Tenkan + Kijun) / 2, plotted 26 periods ahead
Senkou B = (52-period high + 52-period low) / 2, plotted 26 ahead
Chikou = Close, plotted 26 periods back
Quick read:
• Price above cloud → bullish
• Price below cloud → bearish
• Cloud color flip → trend change
• Tenkan/Kijun cross → entry signal
• Thick cloud → strong support/resistance
Worked example

With periods 3, 6 and 12 instead of the standard 9, 26 and 52. On day 15 the conversion line (3-day midpoint) and the base line (6-day midpoint) are both 101.5, below leading span A (106.25), which was projected from six days earlier. The close of 104 sits below that edge of the cloud. Span B needs 12 + 6 = 18 days, more than the example has: the long look-back is part of the method.

The example data: 15 days, used in every indicator here
DayHighLowCloseVolume
11019910050,000
210310010262,000
310310010148,000
410510110470,000
510810410785,000
610810510660,000
711010610990,000
811010710872,000
910810410580,000
1010510210366,000
1110510210455,000
1210410110275,000
13102989995,000
141029910164,000
1510510110471,000
Where it misleads
  • The standard periods (9, 26, 52) date from a six-day trading week in Japan; on today’s calendar they are convention.
  • Five lines and a cloud invite reading something into every configuration; more signals mean more chances to find one after the fact.
  • The cloud is shifted forward, but it is drawn from past prices: it shows old support and resistance, not a forecast.
In code
mid = lambda n: (df['high'].rolling(n).max() + df['low'].rolling(n).min()) / 2
df['tenkan'] = mid(3)                     # 9 in the standard settings
df['kijun'] = mid(6)                      # 26
df['span_a'] = ((df['tenkan'] + df['kijun']) / 2).shift(6)
df['span_b'] = mid(12).shift(6)           # 52, shifted 26 ahead
Python, in your browser — edit the code and run it again

Assumes import numpy as np, import pandas as pd, and a DataFrame df with columns high, low, close and volume — the 15 days above.

Sources
  • G. Hosoda (“Ichimoku Sanjin”), Ichimoku Kinko Hyo, published in Japanese from 1969
  • M. Patel, Trading with Ichimoku Clouds, Wiley, 2010

Last reviewed October 2026 · How this site checks its content · Report a mistake

Pattern bridge: Five components forming a cloud is a multi-signal consensus system — like an ensemble of metrics in ML. The cloud itself is a visual confidence interval.
Linked from 1
← Previous
Parabolic SAR
Open in the full reader, with the topic sidebar