Indicatore Session High/Low: formula, impostazioni e lettura

Session High/Low traccia il prezzo più alto e il più basso scambiati dall'apertura della sessione, come due linee sul grafico dei prezzi. Entrambi gli estremi si azzerano a ogni apertura di sessione (17:00 CT sul calendario CME) e si spostano verso l'esterno solo quando viene stampato un nuovo estremo.

Senzoukria · Indicatori · Updated September 2026


Session High/Low Struttura e sessioni, sul grafico dei prezzi.

Che cosa misura Session High/Low

Le due linee seguono gli estremi progressivi, non il massimo e il minimo finali di una sessione completata: su ogni barra mostrano il prezzo più lontano raggiunto fino a quel momento su ciascun lato. Poiché un estremo progressivo esiste fin dalla prima barra di una sessione, le linee sono definite subito, senza il periodo di riscaldamento richiesto da una media. I valori progressivi sono costruiti barra dopo barra in ordine cronologico e si azzerano nel momento in cui una barra appartiene a una nuova apertura di sessione, quindi l'unica cosa che sposta una linea è una barra che scambia oltre di essa.

La formula, così come è implementata

Non è la definizione consueta altrove: è ciò che calcola il codice distribuito, documentato accanto alla sua implementazione:

`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.

Come leggerlo

  • Una linea del massimo piatta mentre il prezzo scende significa semplicemente che non è stato stampato alcun nuovo estremo; il livello è dove si è fermato l'ultimo tentativo al rialzo.
  • Quando entrambe le linee si spostano verso l'esterno nella stessa barra, l'escursione della sessione si è allargata dai due lati contemporaneamente: è così che appare una outside bar su questo indicatore.
  • La distanza verticale tra le due linee è l'escursione della sessione fino a quel momento; leggetela insieme a Range Compression per vedere se la giornata si sta ancora contraendo.
  • Il ritorno del prezzo su un estremo di sessione non ancora toccato è il momento di guardare il footprint in quel punto, invece di presumere che il livello tenga o ceda.
  • Subito dopo l'azzeramento delle 17:00 CT le linee sono vicine per costruzione, quindi le prime letture dicono poco sulla giornata.

Parametri e valori predefiniti

L'unica impostazione sostanziale è lo Smoothing, che vale 1 per impostazione predefinita, cioè vengono disegnati gli estremi grezzi. Aumentarlo (fino a 200) media le linee su altrettante barre, il che le fa ritardare rispetto all'estremo reale e smettere di segnare il prezzo esatto scambiato: raramente è ciò che si vuole da un livello che deve essere preciso. I due colori (#26a69a per il massimo, #ef5350 per il minimo) servono solo a distinguere visivamente le linee.

Session High/Low — parametri disponibili nell’applicazione, con i valori predefiniti.
ParametroTipoPredefinitoIntervallo
Smoothingnumber11 – 200

Ciò che non mostra

L'indicatore riporta due prezzi e nient'altro: non può dirvi quanto volume sia stato scambiato su un estremo, né quale lato fosse l'aggressore quando è stato fissato. Il suo limite di sessione è l'apertura CME delle 17:00 CT, quindi uno strumento con un altro calendario di trading mostrerà un azzeramento che non corrisponde alla propria giornata. Gli estremi sono misurati sulle barre presenti nel grafico, quindi una sessione di cui non sono caricate le ore di apertura (di solito la prima sessione sul bordo sinistro) produce linee tracciate su una parte soltanto di quella sessione. Il raggiungimento di un livello non dice nulla sul fatto che terrà.

Vedi tutti gli indicatori

Questa pagina in altre lingue

Frequently asked questions

Quando si azzerano il massimo e il minimo di sessione?
Il massimo e il minimo progressivi si azzerano a ogni apertura di sessione, ancorata alle 17:00 CT sul calendario CME. Tutto ciò che viene scambiato da quell'apertura in poi appartiene alla nuova sessione, ore notturne comprese, quindi l'azzeramento non cade a mezzanotte né all'apertura dell'orario regolare.
Perché la prima sessione del mio grafico mostra un'escursione più stretta del dovuto?
Le linee sono calcolate sulle barre effettivamente caricate. Se lo storico inizia a metà di una sessione, gli estremi progressivi partono dalla prima barra caricata e non dall'apertura delle 17:00 CT, quindi ciò che è stato scambiato prima non fa parte dell'escursione mostrata. Scorrere abbastanza indietro da caricare l'intera sessione ripristina gli estremi corretti.
Il massimo e il minimo di sessione coincidono con il massimo e il minimo giornalieri?
Di solito no. Questo indicatore ancora la sessione all'apertura delle 17:00 CT, quindi le ore notturne sono incluse. Un massimo e un minimo giornalieri riferiti solo all'orario regolare differiranno ogni volta che l'estremo è stato segnato fuori da quelle ore.

Keep reading