Session Range Position Indicator: Formula, Settings and How to Read It
Session Range Position expresses where the close sits inside the session's range so far, on a 0 to 100 scale: 100 means the bar closed at the session high, 0 at the session low and about 50 in the middle.
Senzoukria · Indicators · Updated September 2026
Session Range Position ships with the Senzoukria desktop app, in the Structure & sessions group of the indicator catalogue. It is drawn in its own panel below the chart.
What Session Range Position measures
The value is (close − session low) / (session high − session low) × 100, using running extremes measured from the 17:00 CT open rather than the session's final high and low. That distinction is the point: at any bar only what has already traded is known, and using the completed session's extremes would repaint the earlier part of the day with information it did not have. The result is bounded to 0–100 by construction, since a bar's close always lies within the running extremes. It is a dimensionless ratio, so no tick size is required and the scale reads identically on any instrument. While the session range is still zero — a first bar with high equal to low — nothing is plotted.
The formula, as implemented
This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
Position du close dans le range de la séance EN COURS, 0..100 : value = (close − low_séance) / (high_séance − low_séance) × 100 high/low de séance = extrêmes COURANTS (running) depuis l'ouverture CME 17:00 CT, reset à chaque ouverture — pas les extrêmes finaux : à la barre i on ne connaît que ce qui a déjà eu lieu, utiliser le high de fin de séance serait du look-ahead qui repeindrait le passé. POURQUOI : c'est la question « où en est la journée ». 100 = clôture sur les plus hauts du jour (les acheteurs contrôlent la séance), 0 = sur les plus bas, ~50 = journée en balance. Compagnon direct de `session-vwap-distance` (référence de PRIX MOYEN) : ici la référence est l'AMPLITUDE. Convention : borné [0, 100] par construction (le close d'une barre est entre son high et son low, eux-mêmes dans les extrêmes courants). Range de séance nul (première barre à high = low) → null : diviser par zéro serait un mensonge, et « où dans le range » n'a pas de sens sans range. Aucun tick size requis (rapport sans dimension).
How to read it
- Readings holding near 100 over consecutive bars mean closes keep landing at the top of the day's range; near 0, at the bottom.
- The series touches exactly 100 only when a bar closes on the running session high — a bar that makes a new high but closes below it reads lower, and that difference is the clearest thing the indicator shows.
- The value can fall while price is unchanged: a new session high widens the range and pushes the same close lower within it.
- Values around 50 for a long stretch describe a session rotating inside its own range rather than extending it.
- Read it as the amplitude counterpart to VWAP Distance, which references the session's average price instead of its extremes.
Parameters and defaults
Smoothing defaults to 1, which plots the raw percentage; raising it averages the value over that many bars, and the series then no longer reaches exactly 0 or 100 on the bars that close on a session extreme, which removes its most legible reading. The colour (#26c6da) has no effect on the calculation.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Smoothing | number | 1 | 1 – 200 |
What it does not show
The percentage says nothing about the size of the range it describes — a reading of 80 on a ten-point day and on a sixty-point day is the same number. Early in a session the range is narrow and the value swings across the whole scale on small moves. It ignores volume and the time spent at each price, so a range built by one spike and one built by hours of two-sided trade look the same. The session boundary is fixed at the 17:00 CT open, which will not match the trading day of an instrument on a different calendar.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- Prior Week High/Low — Structure & sessions
- Engulfing — Structure & sessions
- Pin Bar — Structure & sessions
- Inside Bar — Structure & sessions
- Outside Bar — Structure & sessions
- Doji — Structure & sessions
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
Frequently asked questions
- What does it mean when price closes at the top of the session range?
- It means the last close landed at or near the highest price traded since the session open, which this indicator reports as a reading at or close to 100. It describes where the close sits, not how much volume supported it, and a session can close on its highs on light participation.
- How do you calculate where price is within the day's range?
- Subtract the session low from the close, divide by the session range — high minus low — and multiply by 100. Using running extremes rather than the completed session's high and low keeps the value honest at every bar, because it only uses information available at that moment.
- Why does session range position stay near 100 for several bars in a row?
- That happens when successive bars both extend the session high and close on it or very near it, so each close sits at the top of the range it has just created. A bar that spikes to a new high and then closes back inside its own range breaks the run, even though the session high itself did not move back.