Volume Profile Array's
Jul 6, 2021

The Volume Profile Array's indicator provides a specialized volume-at-price visualization that identifies significant liquidity nodes and potential support or resistance levels using array-based calculations.
Usage
The Usage section describes how the script can be used to identify high-interest price zones based on historical volume distribution. This tool is particularly effective for identifying "High Volume Nodes" (HVNs) and "Low Volume Nodes" (LVNs) within a specified lookback period.
- Support and Resistance: High-volume sections (highlighted in green by default) indicate price levels where significant trading activity occurred, often acting as strong support or resistance.
- Liquidity Gaps: Low-volume sections (highlighted in red by default) represent areas where price moved quickly with little participation, often acting as "gaps" that price may traverse rapidly in the future.
- Trend Context: By analyzing the volume distribution over the last X bars, traders can determine if the current price is trading within a value area or deviating toward an exhaustion point.
Details
The script operates by dividing the price range (from the highest high to the lowest low of the lookback period) into a user-defined number of vertical sections. It then iterates through the historical data to assign volume to these sections based on one of two calculation methods:
- High/Low Method: If a bar's price range (between its high and low) overlaps with a section's price range, the volume of that bar is added to the section.
- Close Method: Volume is only added to a section if the bar's closing price falls within that specific section's range.
The indicator utilizes Pine Script arrays to dynamically store and sort these values, allowing it to identify local maximums and minimums within the profile. The "Reach" setting determines the sensitivity of these peaks and troughs by comparing each section to its neighboring sections.
Settings
- Calculation Mode: Switches between the "high/low" and "close" methods for volume attribution.
- Period: Sets the number of historical bars used to calculate the volume profile.
- Max Width: Controls the maximum horizontal length of the volume lines on the chart.
- Sections: Defines the vertical resolution (number of rows) of the profile; higher values provide more detail but may impact performance.
- Linewidth: Adjusts the thickness of the horizontal volume lines.
- Compare # sections above/below for max/min: Determines the sensitivity for identifying peaks (Max) and troughs (Min) by looking at a specific number of surrounding rows.
- Only show max/min: When enabled, the script hides the general volume distribution and only displays the significant high and low volume nodes.
- Colors: Individual color pickers are available for general volume, maximum volume nodes (peaks), minimum volume nodes (troughs), and the bounding box borders.
FAQ
How do I use the Volume Profile Array's for intraday trading?
You can set the "Period" to match the number of bars in a specific session or use the default lookback to identify key levels that have developed over the most recent price action.
Why are some lines colored differently?
Lines colored as "Max" (green) represent price levels with locally high trading volume, while "Min" (red) lines represent levels with locally low volume. These are calculated based on the "Reach" setting.
How can I access this script?
You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.
Free indicator
Get free access to this indicator on the platforms below.
Unlock the entire LuxAlgo Library
Every indicator, every strategy, full charts, and complete access to Quant — our AI agent.