Session Volume Profile Pine Script: A Concise Guide for Traders
Understanding session volume profile is important for traders who want to analyze intraday volume distribution and price action. Using Pine Script on TradingView, you can implement session volume profile indicators that provide insights like value area highs, lows, and points of control (POC). This article explains the basics of session volume profile Pine Script, helping you use this tool for better trading decisions.
What is Session Volume Profile?
Session volume profile (SVP) calculates volume data within a specific trading session or sub-session. Unlike traditional volume profiles that gather data over longer periods, SVP focuses on intraday volume activity, showing where the most trading happened during a session. This helps traders identify key price levels such as:
- Point of Control (POC): The price level with the highest traded volume.
- Value Area High (VAH) and Low (VAL): The price range where a specified percentage (commonly 70%) of volume occurred.
These levels are important for understanding market sentiment and potential support/resistance zones during the trading day.

Implementing Session Volume Profile in Pine Script
TradingView offers an open-source SessionVolumeProfile library in Pine Script that makes building session volume profile indicators easier. This library calculates session volume profiles by analyzing price and volume data during regular trading hours and provides key values like POC, VAH, and VAL.
Key Features of the SessionVolumeProfile Library
- Volume Data from Lower Timeframes: The library gets volume data from a lower timeframe compared to the chart's timeframe to improve accuracy.
- Value Area and Histogram Rendering: It includes methods to draw value areas and volume histograms visually on the chart.
- Session Customization: You can configure the session period (e.g., pre-market, market, post-market) or define custom session times.
- Debugging Tools: Functions are available to display session volume profile data in tabular form for easier analysis.
Example Workflow in Pine Script
- Define the number of rows and value area coverage percentage.
- Create a session volume profile object.
- Use
request.security_lower_tf
to retrieve lower timeframe bars for volume calculation. - Populate the session volume profile object with volume and price data.
- Optionally, copy the current session's profile to a variable for historical comparison.
This approach allows you to dynamically analyze volume distribution within each session and visualize important levels on your TradingView charts.