Institutional Session Profiler [JOAT]Institutional Session Profiler
Introduction
The Institutional Session Profiler builds a real-time volume-by-price distribution for each of the three major trading sessions — Asia (Tokyo, 01–09 UTC), London (07–16 UTC), and New York (13–22 UTC). For each session, it calculates the Point of Control (POC — the price level with the highest traded volume), the Value Area High (VAH) and Value Area Low (VAL) encompassing 70% of session volume, and a net buy/sell delta that reveals directional institutional participation within the session. Profile shapes are rendered as smooth polyline waves via Catmull-Rom cubic spline interpolation, giving the profiles a clean, readable curve rather than a jagged bar histogram.
The core problem this solves: standard volume profile tools display a single aggregated profile for an arbitrary lookback. Institutional traders operate within defined session windows — Asia sets the range, London typically engineers liquidity, New York resolves direction. Mapping volume distribution per session reveals where institutions are genuinely active versus where price is simply passing through thin volume.
Core Concepts
1. Lower-Timeframe Volume Accumulation
To build accurate price-level histograms on any chart timeframe, 1-minute (or user-specified lower timeframe) bars are requested via Pine Script's security_lower_tf function. Each sub-bar's volume is classified as buy-side or sell-side, then placed into the session's price bins:
array ltf_c = request.security_lower_tf("", i_ltf, close)
array ltf_v = request.security_lower_tf("", i_ltf, volume)
for i = 0 to ltf_c.size() - 1
float p = ltf_c.get(i)
float v = ltf_v.get(i)
int idx = int(math.floor((p - s_asia.lo) / bin_size))
s_asia.bins.set(idx, s_asia.bins.get(idx) + v)
This means the profile represents actual sub-bar traded volume distributed across price, not a simple tick count or approximation from chart-timeframe candles.
2. Point of Control and Value Area
The POC is the bin index with the highest accumulated volume. The Value Area is computed by iteratively expanding from the POC outward, adding the higher-volume neighbor bin at each step until 70% of total session volume is captured:
float target = total_vol * VA_PCT // VA_PCT = 0.70
float accum = bins.get(poc_idx)
int lo_i = poc_idx
int hi_i = poc_idx
while accum < target
// expand toward whichever neighbor bin has more volume
The resulting VAH and VAL define the zone where the majority of institutional volume transacted. Price inside the value area is "accepted" — price outside it is either in premium or discount relative to session fair value.
3. Catmull-Rom Spline Profile Rendering
Rather than rendering a stepped histogram, the volume bins are smoothed with a double-pass averaging and then connected via Catmull-Rom cubic splines into a polyline. This produces the signature smooth profile wave that is readable at a glance without the visual noise of raw histogram bars:
// Control point generation for cubic interpolation
float cx0 = x0, cy0 = y0
float cx1 = x1 + (x2 - x0) / 6, cy1 = y1 + (y2 - y0) / 6
// ... polyline rendered via array
4. Session Delta
Each session accumulates a running buy/sell delta (buy volume minus sell volume across all sub-bars). The dashboard displays the session delta as a signed value with color coding — positive delta in the Asia session followed by a bullish London opening is a meaningful institutional convergence signal.
Features
Three Simultaneous Session Profiles: Asia, London, and New York built in parallel, each with its own color
Point of Control Line: Horizontal line at the highest-volume price level per session, extended across the full session range
Value Area Box: Shaded box from VAL to VAH representing the 70% volume concentration zone
Volume Wave: Smooth Catmull-Rom spline profile rendered as a polyline — showing the full shape of volume distribution
Buy/Sell Delta: Net directional volume per session displayed in the dashboard
Session Range Box: Outer boundary box showing the full session high-to-low range
9-Row Dashboard: Displays session status (open/closed), POC price, VAH, VAL, session range, delta, and total session volume for each active session
Alerts: Asia session open, London session open, NY session open, price enters value area, price exits value area
Input Parameters
Sessions:
Asia (01–09 UTC): Toggle Asia session profiling (default: on)
London (07–16 UTC): Toggle London session profiling (default: on)
New York (13–22 UTC): Toggle NY session profiling (default: on)
Volume Profile:
LTF for Volume: Lower timeframe to use for sub-bar volume accumulation (default: 1m). Must be smaller than chart timeframe.
Profile Bins: Number of price levels in each session distribution (default: 35, range: 10–100). More bins = finer resolution.
Show Value Area (70%): Toggle VAH/VAL box rendering (default: on)
Visualization:
Asia / London / NY Colors: Independent session color selection
Box Transparency: Base transparency of session range and value area boxes (default: 85)
Show Volume Wave: Toggle Catmull-Rom spline profile rendering (default: on)
Dashboard:
Position: Top Right, Top Left, Bottom Right, Bottom Left (default: Top Right)
How to Use This Indicator
Step 1: Locate the POC and Value Area
The POC is the single most important price level in each session — it represents the highest institutional agreement. Value Area (VAH to VAL) is where the majority of volume transacted. Price above VAH is premium; price below VAL is discount.
Step 2: Identify Session Transitions
The London open (07 UTC) frequently engineers liquidity above or below the Asia range. If London takes out the Asia high and then reverses, the Asia POC becomes a magnetic target. The NY open at 13 UTC is the resolution event — watch for which side of the London value area price is trading on at that open.
Step 3: Read the Session Delta
A session with strong positive delta (more buy volume than sell volume) combined with price closing near the VAH suggests institutional accumulation. Negative delta closing near VAL suggests distribution. Divergence between price direction and delta direction is a key reversal signal.
Step 4: Use VAH/VAL as Dynamic S/R
After a session closes, its VAH and VAL remain on chart as reference levels. These levels frequently act as support or resistance in the following session because institutional participants remember where the majority of volume transacted.
Originality Statement
This indicator is original in its combination of per-session volume profile construction using lower-timeframe data with Catmull-Rom spline visual rendering and real-time delta tracking across three simultaneous sessions. Its publication is justified because:
Volume profiles are typically computed for arbitrary user-defined time windows or fixed periods. Per-session profiling maps institutional behavior to the actual time windows in which institutions operate — Asia, London, and New York — creating contextually meaningful distributions rather than arbitrary aggregations
Catmull-Rom spline interpolation of the bin array produces a smooth, continuous profile shape that preserves the true distribution topology while being readable without histogram visual noise
Real-time lower-timeframe volume decomposition into price bins on any chart timeframe gives accurate sub-bar volume placement that chart-timeframe-only calculations cannot produce
Simultaneous three-session display with independent POC, VAH, VAL, and delta tracking per session enables cross-session analysis that no single-profile tool can provide
Limitations
LTF data requests consume additional computation. On very high timeframe charts (4H+), 1-minute LTF data pulls are large. Consider using 5m LTF on higher timeframes to reduce computation.
The buy/sell volume classification (close >= open = buy) is an approximation at the 1-minute level. True tick-direction is not available in Pine Script.
Session times are fixed UTC offsets. Daylight saving time transitions may shift the actual institutional open by one hour depending on the exchange.
Value Area calculation uses 70% of session volume by default. This follows the standard Market Profile convention but the threshold is not universally agreed upon.
On assets with very low volume (illiquid instruments), the profile bins will be sparse and the spline shape may not be representative of meaningful distribution.
Disclaimer
This indicator is provided for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any instrument. All trading involves risk of loss. Session volume patterns do not guarantee future price behavior. Always use proper risk management.
-Made with passion by jackofalltrades
Индикатор Pine Script®






















