Indicador Session High/Low: fórmula, ajustes y cómo leerlo

Session High/Low dibuja los precios máximo y mínimo negociados desde que abrió la sesión, como dos líneas sobre el gráfico de precio. Los dos extremos se reinician en cada apertura de sesión (17:00 CT en el calendario CME) y solo se desplazan hacia fuera cuando se imprime un nuevo extremo.

Senzoukria · Indicadores · Updated September 2026


Session High/Low Estructura y sesiones, sobre el gráfico de precios.

Qué mide Session High/Low

Las dos líneas siguen extremos en curso, no el máximo y el mínimo finales de una sesión ya cerrada: en cualquier barra muestran el precio más lejano alcanzado hasta ese momento por cada lado. Como un extremo en curso existe desde la primerísima barra de una sesión, las líneas están definidas de inmediato, sin nada del calentamiento que necesita una media. Los valores se construyen barra a barra en orden cronológico y se reinician en cuanto una barra pertenece a una nueva apertura de sesión, así que lo único que mueve una línea es una barra que negocia más allá de ella.

La fórmula, tal como está implementada

No es la definición habitual en otros sitios: es lo que calcula el código que se distribuye, documentado junto a su implementación:

`to` d'un niveau : borne droite (dernière barre) d'une tranche passée, null (= bord droit du chart) pour la dernière tranche chargée. */ function rangeTo( endBarIdx: number, isLast: boolean, bars: readonly FootprintBar[], ): number | null { return isLast ? null : bars[endBarIdx].bucketTsNs; } /** H/L des barres d'une session STRICTEMENT avant `endSec` (bucket start < endSec — même règle de fenêtre que l'IB de profiles.ts). `null` si aucune barre de la fenêtre n'est chargée (chargement en cours de séance) : un range partiel serait un mensonge. */ function windowHiLo( bars: readonly FootprintBar[], ses: SessionSlice, endSec: number, ): { hi: number; lo: number } | null { let hi = Number.NEGATIVE_INFINITY; let lo = Number.POSITIVE_INFINITY; for (let i = ses.start; i <= ses.end; i++) { const b = bars[i]; if (b.bucketTsNs / 1e9 >= endSec) break; // barres chronologiques (moteur) if (b.high > hi) hi = b.high; if (b.low < lo) lo = b.low; } return Number.isFinite(hi) && Number.isFinite(lo) ? { hi, lo } : null; } /** H, L et close (dernière barre) d'une session complète. Les tranches de `splitSessions` sont non vides par construction → extrêmes finis. */ function sessionHLC( bars: readonly FootprintBar[], ses: SessionSlice, ): { h: number; l: number; c: number } { let h = Number.NEGATIVE_INFINITY; let l = Number.POSITIVE_INFINITY; for (let i = ses.start; i <= ses.end; i++) { if (bars[i].high > h) h = bars[i].high; if (bars[i].low < l) l = bars[i].low; } return { h, l, c: bars[ses.end].close }; } /** Extrêmes COURANTS (running high/low) par barre, reset à chaque ouverture de session (17:00 CT). Partagé par session-high-low et session-mid. */ function runningSessionExtremes( bars: readonly FootprintBar[], ctx: SeriesContext, ): Array<{ hi: number; lo: number }> { const out: Array<{ hi: number; lo: number }> = []; let hi = 0; let lo = 0; let curOpen: number | null = null; for (const b of bars) { const open = barSessionOpenSec(b, ctx); if (open !== curOpen) { curOpen = open; hi = b.high; lo = b.low; } else { if (b.high > hi) hi = b.high; if (b.low < lo) lo = b.low; } out.push({ hi, lo }); } return out; } /** Clé de semaine CME d'une session, depuis son `openSec` (17:00 CT). Jour de TRADE = jour UTC de (openSec + 12 h) : l'open est à 22:00 (CDT) ou 23:00 (CST) UTC, +12 h tombe toujours le lendemain 10:00/11:00 UTC — juste dans les deux régimes DST (l'ouverture du dimanche = session du lundi). Semaines base LUNDI, ancrées sur l'epoch-day 4 (lundi 5 janv. 1970) : lundi→vendredi de trade partagent la même clé. */ function cmeWeekKey(openSec: number): number { const tradeDay = Math.floor((openSec + 12 * 3600) / 86400); return Math.floor((tradeDay - 4) / 7); } // ── Indicateurs ───────────────────────────────────────────────────────────── /** High/Low de session « developing » : extrêmes courants (running max des highs / min des lows) depuis l'ouverture de session (17:00 CT), reset à CHAQUE ouverture. Défini dès la 1ʳᵉ barre — un extrême courant existe immédiatement, contrairement à une moyenne : pas de warm-up. 2 lignes.

Cómo leerlo

  • Una línea de máximo plana mientras el precio baja significa simplemente que no se ha impreso ningún extremo nuevo; el nivel es donde se detuvo el último intento al alza.
  • Cuando las dos líneas se desplazan hacia fuera dentro de la misma barra, el rango de la sesión se ha ampliado por los dos lados a la vez, que es el aspecto que tiene una barra envolvente en este indicador.
  • La distancia vertical entre las dos líneas es el rango de la sesión hasta ahora; léela junto a Range Compression para ver si el día sigue contrayéndose.
  • Que el precio vuelva a un extremo de sesión aún sin tocar es el momento de mirar el footprint ahí, en lugar de suponer que el nivel aguanta o se rompe.
  • Justo después del reinicio de las 17:00 CT las líneas están cerca una de otra por construcción, así que las primeras lecturas dicen poco sobre el día.

Parámetros y valores por defecto

El único ajuste con fondo es Smoothing, que por defecto vale 1, es decir, se dibujan los extremos en bruto. Subirlo (hasta 200) promedia las líneas dibujadas sobre ese número de barras, lo que las hace retrasarse respecto al extremo real y dejar de marcar el precio exacto que se negoció — rara vez es lo que quieres de un nivel que debe ser preciso. Los dos colores (#26a69a para el máximo y #ef5350 para el mínimo) solo separan las líneas visualmente.

Session High/Low — parámetros disponibles en la aplicación, con los valores con los que se distribuye.
ParámetroTipoPor defectoRango
Smoothingnumber11 – 200

Lo que no muestra

El indicador informa de dos precios y nada más: no puede decirte cuánto volumen se negoció en un extremo ni qué lado estaba agrediendo cuando se marcó. Su límite de sesión es la apertura CME de las 17:00 CT, así que un instrumento con otro calendario de negociación mostrará un reinicio que no coincide con su propio día. Los extremos se miden sobre las barras presentes en el gráfico, así que una sesión cuyas horas de apertura no están cargadas — normalmente la primera del borde izquierdo — produce líneas trazadas sobre una fracción de esa sesión. Que se alcance un nivel no dice nada sobre si aguantará.

Ver todos los indicadores

Esta página en otros idiomas

Frequently asked questions

¿Cuándo se reinician el máximo y el mínimo de sesión?
El máximo y el mínimo en curso se reinician en cada apertura de sesión, anclada a las 17:00 CT del calendario CME. Todo lo negociado desde esa apertura en adelante pertenece a la nueva sesión, incluidas las horas nocturnas, así que el reinicio no cae ni a medianoche ni en la apertura del horario regular.
¿Por qué la primera sesión de mi gráfico muestra un rango más estrecho del que debería?
Las líneas se calculan con las barras realmente cargadas. Si tu histórico empieza a mitad de una sesión, los extremos en curso arrancan en la primera barra cargada y no en la apertura de las 17:00 CT, así que todo lo negociado antes no forma parte del rango mostrado. Retrocediendo lo suficiente para cargar la sesión completa, los extremos vuelven a ser correctos.
¿El máximo y el mínimo de sesión son lo mismo que el máximo y el mínimo diarios?
Normalmente no. Este indicador ancla la sesión a la apertura de las 17:00 CT, así que incluye las horas nocturnas. Un máximo y un mínimo diarios publicados solo para el horario regular diferirán siempre que el extremo se haya hecho fuera de ese horario.

Keep reading