Skip to main content

Qué es

Ichimoku Kinko Hyo (“gráfico de equilibrio de un vistazo”) es un sistema desarrollado por Goichi Hosoda que combina tendencia, momentum y soporte/resistencia en un solo indicador. A diferencia de los indicadores clásicos (SMA, EMA, BB), no es una única línea sino cinco líneas que se leen en conjunto: El área entre Senkou Span A y Senkou Span B es la nube (Kumo): alcista/verde cuando A queda por encima de B, bajista/roja en caso contrario.
Implementación en frontend/lib/indicators/ichimoku.ts (cálculo puro, sin dependencias de chart) — ver useIchimokuOutput.ts para el adaptador que lo convierte en IndicatorOutput y IchimokuModule.tsx para el render. Cobertura de tests: frontend/__tests__/lib/indicators/ichimoku.test.ts.

Parámetros

Los tres períodos y el desplazamiento son configuración estándar japonesa: nacieron de una semana de trading de 6 días (26 ≈ un mes bursátil de la época). El preset ichimoku_intraday (10/30/60/30) es una adaptación común para mercados 24h (forex/crypto).

Cómo se calcula

  1. Tenkan-sen / Kijun-sen: el mismo cálculo de “canal Donchian” (máximo/mínimo de N barras), solo cambia el período. donchianMid(i, N) = (highestHigh(i, N) + lowestLow(i, N)) / 2.
  2. Senkou Span A: promedio de Tenkan y Kijun en la barra i, pero el punto se dibuja en el tiempo de la barra i + displacement. Como esas barras futuras normalmente no existen todavía en los datos, el tiempo se proyecta usando el espaciado dominante entre barras (inferBarInterval — la moda de los deltas de tiempo consecutivos, robusta a huecos de fin de semana).
  3. Senkou Span B: igual que Tenkan/Kijun pero con senkouBPeriod (52) y el mismo desplazamiento hacia adelante que Span A.
  4. Chikou Span: el cierre de la barra i se dibuja en el tiempo de la barra i - displacement. No requiere proyección de tiempo (esas barras ya existen).
Los 4 primeros valores requieren “warmup”: no hay Tenkan hasta la barra tenkanPeriod-1, no hay Kijun hasta kijunPeriod-1, Senkou A necesita max(tenkanPeriod, kijunPeriod)-1, Senkou B necesita senkouBPeriod-1, y Chikou necesita al menos displacement barras de historia. El cálculo devuelve arrays más cortos (nunca NaN) — no hay puntos “vacíos” en el medio de una serie.

La nube: decisión de render

El contrato IndicatorOutput del framework de indicadores (components/indicators/core/indicator-output.ts) tiene 4 primitivas: DrawLine (línea horizontal/diagonal), DrawMarker, DrawRectangle (caja de precio fija) y DrawLineSeries (una línea continua). Ninguna de las cuatro dibuja el relleno entre dos líneas que varían con el precio — DrawRectangle es una caja con priceHigh/priceLow fijos, no sirve para una nube que sube y baja barra a barra.
Degradación explícita: la nube se dibuja como dos DrawLineSeries (Senkou Span A y Senkou Span B) con colores distintos (verde/rojo) que delimitan visualmente dónde estaría el área — sin relleno de color real entre ambas líneas. Es una limitación conocida de este pase, no un bug. Un relleno real requeriría un primitive custom (al estilo RectanglePrimitive/HorizontalLinePrimitive en lib/chart-primitives) que interpole el color barra a barra entre ambas series — no se construyó en este pase por alcance.
Esto es consistente con cómo el resto de la plataforma resuelve áreas: los paneles separados (BasePanelIndicator.tsx, usePaneIndicators.ts) usan AreaSeries nativa de Lightweight Charts (línea + relleno hacia una base fija), que tampoco sirve para un relleno entre dos líneas independientes.

Qué ve el usuario en el chart

El módulo IchimokuModule.tsx sigue el patrón useXxxOutput → IndicatorRenderer (el mismo que usan SwingPoints V2 y BZK) — no hace llamadas directas a la API de Lightweight Charts. Las 5 líneas se dibujan como LineSeries independientes; showCloud/showChikou/showTenkanKijun habilitan o deshabilitan grupos completos de líneas de una sola vez. Colores por defecto (tokens del framework, components/indicators/framework/colors.ts):

Recetas

Dejá los parámetros por defecto. Precio arriba de la nube = sesgo alcista, abajo = sesgo bajista, dentro = rango. Confirmá con el cruce Tenkan/Kijun (similar a un cruce de medias) y con que el Chikou Span no esté “atrapado” contra el precio histórico.
Usá el preset ichimoku_lines_only (showCloud: false, showChikou: false) para quedarte solo con Tenkan/Kijun — útil si ya tenés otros indicadores de estructura (ISS, Swing Points) y la nube agrega ruido visual.
El preset ichimoku_intraday (10/30/60/30) ajusta los períodos a una “semana” de 30 horas, más apropiado para forex/crypto que no cierran los fines de semana de la misma forma que las bolsas japonesas de los años 30 (origen de los períodos 9/26/52).

Volver a la Visión General

Ver el resto de indicadores propios de la plataforma.