Индикатор Ишимоку Кинко Хайо (Ichimoku Kinko Hyo)

Ишимоку-крест
Этот индикатор придуман японским аналитиком Гоичи Хосодой, печатающимся под псевдонимом Санждин Ишимоку (иногда пишут так: Сандзин Итимоку). Ишимоку изобрел этот индикатор, пытаясь прогнозировать движения индекса фондового рынка Японии.

Технический Индикатор Ишимоку Кинко Хайо (Ichimoku Kinko Hyo) предназначен для определения рыночного тренда, уровней поддержки и сопротивления и для генерации сигналов покупки и продажи. Лучше всего индикатор работает на недельных и дневных графиках.

При определении размерности параметров используется четыре временных интервала различной протяженности. На этих интервалах основываются значения отдельных линий, составляющих этот индикатор:

• Tenkan-sen показывает среднее значение цены за первый промежуток времени, определяемый как сумма максимума и минимума за это время, деленная на два;

• Kijun-sen показывает среднее значение цены за второй промежуток времени;

• Senkou Span A показывает середину расстояния между предыдущими двумя линиями, сдвинутую вперед на величину второго временного интервала;

• Senkou Span B показывает среднее значение цены за третий временной интервал, сдвинутое вперед на величину второго временного интервала.

• Chinkou Span показывает цену закрытия текущей свечи, сдвинутую назад на величину второго временного интервала.

Расстояние между линиями Senkou штрихуется на графике другим цветом и называется «облаком». Если цена находится между этими линиями, рынок считается нетрендовым и тогда края облака образуют уровни поддержки и сопротивления:

Если цена находится над облаком, то верхняя его линия образует первый уровень поддержки, а вторая — второй уровень поддержки.

Если цена находится под облаком, то нижняя линия образует первый уровень сопротивления, а верхняя — второй.

Если линия Chinkou Span пересекает график цены снизу вверх, это является сигналом к покупке.

Если линия Chinkou Span пересекает график цены сверху вниз — сигналом к продаже.

Kijun-sen («Основная линия) используется как показатель движения рынка. Если цена выше неё, цены, вероятно, будут продолжать расти. Когда цена пересекает эту линию вероятно дальнейшее изменения тренда.

Другим вариантом использования Киджун-сен является подача сигналов. Сигнал к покупке генерируется, когда линия Tenkan-sen пересекает Kijun-sen снизу вверх. Сверху вниз — сигнал к продаже.

Tenkan-sen («Разворотная линия») используется как индикатор рыночного тренда. Если эта линия растет или падает — тренд существует. Когда она идет горизонтально — рынок вошел в канал.

Ишимоку-индикатора

Любая линия Ишимоку МОМЕНТАЛЬНО реагирует на появление нового экстремума за свой временной диапазон. Никакого запаздывания нет. Это удобно использовать как трендовый сигнал.

Каждая линия Ишимоку представляет собой уровень любимого волновиками 50% отката движения цены. Здесь хорошо присоединяться к тренду, начало которого вы пропустили.

Итак, мы имеем многоплановый индикатор, сочетающий в себе указатели тренда, уровни возможных откатов, области поддержки и сопротивления и осциллятор. Сложная торговая система, сочетающая различные подходы. Шедевр, подобного которому мы не знаем!

В принципе можно провести даже одну линию и при нахождении цены ниже нее искать возможности продать, а если выше — то купить. Но сочетание всех линий дает новое качество — результаты такого анализа лучше, чем суммированные результаты каждой из линий в отдельности.


Расчет индикатора Ишимоку (Ichimoku Kinko Hyo)

Ключевые компоненты (5 линий + «облако»):
— Tenkan‑sen (Conversion Line) — линия разворота/краткосрочного тренда.
— Kijun‑sen (Base Line) — базовая линия/среднесрочный тренд.
— Senkou Span A (Leading Span A) — первая линия облака (переносится вперед).
— Senkou Span B (Leading Span B) — вторая линия облака (переносится вперед).
— Chikou Span (Lagging Span) — запаздывающая линия (переносится назад).

Стандартные параметры (оригинальные значения Иссацу Гичина по умолчанию):
— Tenkan period = 9
— Kijun period = 26
— Senkou B period = 52
— Displacement / shift = 26 (сколько баров вперед/назад перемещаются соответствующие линии)

Обозначения:
— High, Low, Close — максимум, минимум и цена закрытия бара.
— max(X, n) — максимум X за последние n баров (включая текущий).
— min(X, n) — минимум X за последние n баров.
— shift_forward = 26, shift_backward = 26 (обычно одинаковые; Senkou линии сдвигают вперёд на 26 баров, Chikou — назад на 26).

Формулы расчёта:

1) Tenkan‑sen (Conversion Line)
Tenkan = ( max(High[t-(TenkanPeriod-1)]..High) + min(Low[t-(TenkanPeriod-1)]..Low) ) / 2
Стандартно с TenkanPeriod = 9:
Tenkan = ( max(High[t-8..t]) + min(Low[t-8..t]) ) / 2

2) Kijun‑sen (Base Line)
Kijun = ( max(High[t-(KijunPeriod-1)]..High) + min(Low[t-(KijunPeriod-1)]..Low) ) / 2
Стандартно KijunPeriod = 26:
Kijun = ( max(High[t-25..t]) + min(Low[t-25..t]) ) / 2

3) Senkou Span A (Leading Span A) — первая линия облака
SenkouA = ( Tenkan + Kijun ) / 2
Эта линия откладывается вперёд на shift_forward баров:
Plot SenkouA at time t + shift_forward = SenkouA

4) Senkou Span B (Leading Span B) — вторая линия облака
SenkouB = ( max(High[t-(SenkouBPeriod-1)]..High) + min(Low[t-(SenkouBPeriod-1)]..Low) ) / 2
Стандартно SenkouBPeriod = 52:
SenkouB = ( max(High[t-51..t]) + min(Low[t-51..t]) ) / 2
Эта линия также откладывается вперёд на shift_forward баров:
Plot SenkouB at time t + shift_forward = SenkouB

Примечание: Облако (Kumo) образуется между SenkouA (верх/низ в зависимости от расположения) и SenkouB; когда SenkouA > SenkouB — облако «бычье» (обычно окрашивается зелёным), иначе «медвежье».

5) Chikou Span (Lagging Span)
Chikou = Close[t — shift_backward] Стандартно shift_backward = 26, то есть Chikou отображает цену закрытия 26 баров назад.

Итого, сводные формулы:
— Tenkan = ( max(High[t-8..t]) + min(Low[t-8..t]) ) / 2
— Kijun = ( max(High[t-25..t]) + min(Low[t-25..t]) ) / 2
— SenkouA = (Tenkan + Kijun) / 2, plotted at t+26
— SenkouB = ( max(High[t-51..t]) + min(Low[t-51..t]) ) / 2, plotted at t+26
— Chikou = Close[t-26], plotted at t-26

Практические замечания и детали реализации:
— Доступность данных: из‑за сдвига Senkou линий вперед, значения SenkouA/B для первых shift_forward баров будут пустыми (не могут быть рассчитаны для будущих индексов в реальном времени); при обратном отображении (backtesting) обычно сдвигают линии визуально.
— Окна включают текущий бар: например, для Kijun (26) диапазон — 26 баров, включая текущий.
— Альтернативы и адаптации: многие платформы допускают изменение периодов (например, 10/30/60) для адаптации к разным рынкам/таймфреймам.
— Тип цены: обычно используют High/Low/Close как указано; иногда Tenkan/Kijun рассчитывают по среднему (HL/2) вместо отдельных High/Low — это редкая модификация.
— Использование: Ишимоку — комплексная система: сигналы учитывают взаимное расположение всех линий и облака (напр., цена выше/ниже облака, Tenkan пересекает Kijun, Chikou пересекает цену и т.д.). Для корректной интерпретации учитывайте положение относительно облака и направление SenkouA vs SenkouB.

Пример (псевдокод Python/Pandas):

# df columns: 'High','Low','Close'
tenkan_period = 9
kijun_period = 26
senkoub_period = 52
shift = 26

df['tenkan'] = (df['High'].rolling(tenkan_period).max() + df['Low'].rolling(tenkan_period).min()) / 2
df['kijun']  = (df['High'].rolling(kijun_period).max() + df['Low'].rolling(kijun_period).min()) / 2
df['senkouA'] = ((df['tenkan'] + df['kijun']) / 2).shift(shift)
df['senkouB'] = ((df['High'].rolling(senkoub_period).max() + df['Low'].rolling(senkoub_period).min()) / 2).shift(shift)
df['chikou'] = df['Close'].shift(-shift)  # если хотим отобразить закрытие назад на 26 баров

Обратите внимание на знак сдвига для Chikou: визуально Chikou отображают назад, поэтому индексируется как lag (в pandas это negative shift для отображения в прошлое).


Если интересен данный индикатор, то на его основе есть примеры готовых роботов:

Под торговый терминал TSLab. «ЗОЛОТОЙ КРЕСТ Ишимоку» можно прочитать тут ->