Fixed range volume profile: setup, levels, and testable rules
Fixed range volume profile maps traded volume by price inside two chart coordinates that you choose. It is useful when the question concerns one completed move, gap, consolidation, or event window rather than every bar visible on the chart.
Short answer
Draw the range around a completed market event, keep the same row-size method while comparing examples, and read the point of control and value-area boundaries as evidence of past participation. The profile is reactive. It does not predict whether price will hold, break, or reverse at a level.
Range
Two fixed chart coordinates
Core levels
POC, VAH, VAL, HVN, and LVN
Common baseline
70% value area
Best use
One completed move or consolidation
Choose the range before reading the profile
The same symbol can produce a different profile when either coordinate moves. Define the question first, then select the shortest range that answers it.
| Range choice | Useful for | What can go wrong |
|---|---|---|
| Impulse low to impulse high | Studying where volume accumulated during one completed move | Moving the first anchor after seeing the reaction |
| Gap day open to close | Separating event-day participation from older volume | Including several unrelated sessions |
| Consolidation start to breakout | Finding the POC and low-volume edges of a balance area | Ending the range before the breakout bar closes |
| Earnings bar through follow-through | Checking whether later price accepts the event range | Treating an illustrative level as a guaranteed support zone |
| Arbitrary visible window | Quick exploration only | Changing the question every time the chart is panned |
A repeatable chart workflow
- 1
Write the market event
Name the exact move you want to inspect, such as the latest completed QQQ impulse or an NVDA earnings gap. Do this before placing either anchor.
- 2
Place both coordinates
Set the first coordinate at the event start and the second after the event is complete. Include the full bars that belong to the question, and disable Extend Right: that setting continues the calculation beyond the second coordinate.
- 3
Fix the calculation settings
Record the row layout, row size, value-area percentage, symbol, and timeframe. A comparison is weak if those settings change between samples.
- 4
Define the reaction rule
State what price must do at POC, VAH, VAL, or an LVN. A close, retest, volume condition, and invalidation level make the idea testable.
Notes from chart review
- Record both anchor timestamps before evaluating later reactions. Preserve the original range if you later revise the event definition.
- A 70% value-area target is a documented default, not an optimized setting. Keep the target unchanged across a comparison; record any alternative as a separate study.
- Inspect the volume unit and venue before comparing profiles. Stock trade volume is not the same input as tick volume on an index or forex chart.
What POC, VAH, VAL, HVN, and LVN mean
The point of control is the row with the most volume inside the chosen range. The value-area algorithm starts at POC and expands toward a selected volume target, commonly 70%, with VAH at its upper boundary and VAL at its lower boundary. Whole-row inclusion and the stopping convention mean the included share need not equal that target exactly. High-volume nodes are local concentrations. Low-volume nodes are thinner areas between them.
These are measurements of the selected history. A POC can act as a reference because a large amount of business occurred there, but the label does not tell you who will defend it next time. Price can trade through every profile level.
- Use POC to describe the busiest row, not an automatic entry.
- Treat VAH and VAL as boundaries that need a reaction rule.
- Use an HVN as evidence of prior acceptance inside the range.
- Use an LVN as evidence that price spent little volume there.
Why the profile changes with timeframe and row size
TradingView calculates profiles with lower-timeframe data when that history is available. Its official documentation explains that the selected lower timeframe can change with the length of the range. A deep historical range may fall back to chart-resolution data when lower-timeframe bars are unavailable.
Row size changes how many prices are combined into each histogram row. More rows create detail but can turn small differences into apparent structure. Fewer rows smooth the profile and can hide narrow nodes. Record the setting instead of treating one display as ground truth.
Turn a chart observation into an executable rule
A useful rule separates the measured range from the later trade. For example, calculate a completed five-session profile, freeze its POC and value-area boundaries, then test only future closes. Using volume after the cutoff to revise levels used for an earlier trade leaks later information into the setup. Recalculating the same fixed inputs does not itself add future information.
Pineify can draft inspectable Pine Script for that workflow. Specify the volume allocation, row boundaries, value-area algorithm, missing-data policy, and available intrabar history; a custom calculation need not match the native TradingView profile. Pine scripts cannot read a manually drawn profile. For a simple alert helper, use recorded levels as manual inputs and include their availability time. It cannot make the profile predictive, and a historical backtest still needs realistic fills and out-of-sample checks.
A Pine Script prompt for a fixed range test
This is a draft specification using manually recorded completed-range levels. It is not a tested script or a native profile calculation.
Draft a Pine Script v6 manual frozen-profile helper. Inputs are recorded POC, VAH, VAL, and their availability timestamp; require VAL <= POC <= VAH. Plot only after that timestamp. On a later completed bar, alert if its low <= VAH and close > VAH, or its high >= VAL and close < VAL. Define these as bar-level touch-and-close conditions, not an intrabar execution sequence. Suppress alerts before availability and explain how changed inputs alter historical displays. Do not read chart drawings or claim to reproduce a native profile. Include syntax validation and a two-bar boundary example for review.Draft the helper
Continue the volume analysis
Tools for the next check
Volume Profile Calculator
Group entered volume-at-price rows and calculate POC and value-area reference levels. Inspect rounding, tie rules and the achieved volume percentage.
Volume Profile Analyzer
Estimate POC and value-area levels by distributing uploaded OHLCV volume across each bar’s range. Compare the approximation with TradingView profile methods.
Anchored Volume Profile
Choose an event anchor, track developing POC and value-area levels, and test anchored volume profile reactions without hindsight.
Market Profile vs Volume Profile
Compare TPO time-at-price with volume-at-price, including POC, value area, session inputs, and testable use cases.
Pine Script Indicator Generator
Explore Pine Script indicator generation and review the resulting code for your TradingView chart.
Sources and calculation notes
Frequently asked questions
This page is an information tool, not investment advice. Volume profile levels describe past trading activity inside a chosen range. They do not guarantee support, resistance, entries, exits, or returns. Check the data source and test the complete rule before risking capital.