OPEN-SOURCE SCRIPT
Previous Day Volume Profile (VAH / POC / VAL)

Previous Day Volume Profile — VAH / POC / VAL
Automatically calculates the previous trading day's Volume Profile and projects its three key levels — Value Area High, Point of Control, and Value Area Low — as dotted horizontal lines across the current trading day. Levels roll forward automatically at each new session, so yesterday's value area is always on your chart without manual drawing.
How it works
The trading day is defined by a configurable session and timezone (not midnight), so it works correctly on nearly-24h futures — e.g. 23:00–21:55 UK for CME index futures.
The profile is built from intrabar data (request.security_lower_tf, default 1-minute; seconds timeframes supported on Premium+ plans), giving near-tick resolution regardless of your chart timeframe. Where intrabar history isn't available it falls back to chart bars.
Each intrabar's volume is pro-rated across the price bins its high-low range overlaps (with an even-split option).
Bins are anchored to the absolute price grid, exactly N ticks wide (configurable, default 2 ticks), or alternatively a fixed row count.
POC = the highest-volume bin. The Value Area (default 70% of the day's volume) expands outward from the POC using the classic Market Profile "double" method — comparing the sum of the two bins above the band vs. the two below and adding the fuller pair (a simpler single-bin mode is also available). VAH and VAL are the band's top and bottom edges.
Inputs
Session and timezone defining the trading-day boundary
Row sizing: ticks per row, or fixed number of rows
Value Area percentage and expansion method (double / single)
Volume distribution: pro-rated or even split
Intrabar timeframe (1S–5min) with on/off toggle
Colour and line width per level, label toggle and offset
Notes
Lines are drawn only on the current day, from its first bar to the right edge — the previous day's candles stay clean. Old drawings are removed at each session roll.
Computed values are also exposed in the Data Window for verification.
Pine cannot access true tick data; on plans without seconds timeframes, 1-minute intrabars are the finest available resolution (the same resolution TradingView's built-in profiles use on those plans), so levels may differ from tick-based profiles by a row or so.
Automatically calculates the previous trading day's Volume Profile and projects its three key levels — Value Area High, Point of Control, and Value Area Low — as dotted horizontal lines across the current trading day. Levels roll forward automatically at each new session, so yesterday's value area is always on your chart without manual drawing.
How it works
The trading day is defined by a configurable session and timezone (not midnight), so it works correctly on nearly-24h futures — e.g. 23:00–21:55 UK for CME index futures.
The profile is built from intrabar data (request.security_lower_tf, default 1-minute; seconds timeframes supported on Premium+ plans), giving near-tick resolution regardless of your chart timeframe. Where intrabar history isn't available it falls back to chart bars.
Each intrabar's volume is pro-rated across the price bins its high-low range overlaps (with an even-split option).
Bins are anchored to the absolute price grid, exactly N ticks wide (configurable, default 2 ticks), or alternatively a fixed row count.
POC = the highest-volume bin. The Value Area (default 70% of the day's volume) expands outward from the POC using the classic Market Profile "double" method — comparing the sum of the two bins above the band vs. the two below and adding the fuller pair (a simpler single-bin mode is also available). VAH and VAL are the band's top and bottom edges.
Inputs
Session and timezone defining the trading-day boundary
Row sizing: ticks per row, or fixed number of rows
Value Area percentage and expansion method (double / single)
Volume distribution: pro-rated or even split
Intrabar timeframe (1S–5min) with on/off toggle
Colour and line width per level, label toggle and offset
Notes
Lines are drawn only on the current day, from its first bar to the right edge — the previous day's candles stay clean. Old drawings are removed at each session roll.
Computed values are also exposed in the Data Window for verification.
Pine cannot access true tick data; on plans without seconds timeframes, 1-minute intrabars are the finest available resolution (the same resolution TradingView's built-in profiles use on those plans), so levels may differ from tick-based profiles by a row or so.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.