Market profile vs volume profile: time at price or volume at price
Market profile, often displayed as Time Price Opportunity or TPO, counts how often price traded through each row during fixed time blocks. Volume profile adds the measured volume traded at each row. Similar shapes do not mean the profiles contain the same evidence.
Short answer
Choose market profile when the question concerns time, session development, initial balance, and acceptance. Choose volume profile when the question concerns measured participation by price. Use both when the data is reliable and the added profile changes a written decision rule.
Market profile input
Time Price Opportunities
Volume profile input
Trade or tick volume by price
Shared concepts
POC, value area, and distribution shape
Main difference
Time acceptance versus measured volume
Market profile and volume profile side by side
The labels can overlap, so trace every level back to the input that created it. TPO POC and volume POC do not have to match.
| Factor | Market profile or TPO | Volume profile |
|---|---|---|
| Primary input | Time blocks that visit each price row | Measured volume assigned to each price row |
| Point of control | Row with the most TPO activity | Row with the most measured volume |
| Value area | Rows containing the selected share of TPO activity | Rows containing the selected share of measured volume |
| Distinct fields | Letters, initial balance, single prints, poor highs and lows | Volume nodes, total volume, up/down or delta display |
| Data sensitivity | Block size, session, and row size | Volume type, lower timeframe, session, and row size |
| Best question | Where did the auction spend time? | Where did measured participation concentrate? |
A repeatable chart workflow
- 1
Set one session definition
Use the same regular or custom session for both profiles. A premarket-inclusive TPO cannot be compared fairly with a regular-hours volume profile.
- 2
Match the row structure
Keep tick size or row count comparable so a resolution change does not create a false divergence.
- 3
Mark agreements and disagreements
Record whether TPO POC, volume POC, and value-area boundaries overlap. Do not assume one profile is correct when they differ.
- 4
Test one decision rule
Define what agreement or divergence changes in the setup, then test future bars without adjusting the completed profiles.
Notes from chart review
- When I compare TPO and volume on ES, I use the same session template and row size. A mismatch there can explain more than the apparent profile divergence.
- When the SPY TPO POC and volume POC separate, I mark both and wait. I do not assume the volume POC must pull price toward it.
- When I review QQQ across several sessions, I save completed profiles. Developing value areas move, so comparing a final profile with an earlier snapshot is misleading.
Market profile measures time-based acceptance
A TPO profile divides a period into blocks, commonly 30 minutes, and assigns a letter to each block. Each row records the blocks in which price visited that level. More TPOs at a row mean the auction spent more time there under the selected settings.
Market profile also emphasizes session-development concepts such as initial balance, single prints, and distribution shape. Those fields describe the path and time structure of the auction. They do not measure how many shares or contracts traded at every row.
- Use initial balance only after defining the session and opening blocks.
- Treat single prints as time-based structure, not empty volume.
- Record block size and row size with every saved profile.
- Compare completed sessions before drawing conclusions about shape.
Volume profile measures participation by price
Volume profile aggregates the available volume measure into price rows. For exchange-traded stocks and futures, that can be shares or contracts. TradingView notes that some indices, forex symbols, and crypto CFDs use tick volume instead. The input changes what the histogram can support.
Volume POC is the row with the most measured volume, while a high-volume node is a local concentration. These can overlap with TPO acceptance, but they can also diverge when a large amount trades quickly at a price that the market does not visit for long.
Use the disagreement as a test variable
A profile disagreement is an observation, not a trade. For example, a session can have a TPO POC above its volume POC. The next step is to define a rule, such as waiting for the following session to accept above both levels or reject one with a closed-bar condition.
Pineify can generate Pine Script for the volume-based part and for reaction rules around saved levels. A custom script cannot recreate every proprietary TPO implementation or recover unavailable order-flow data. Keep the coded claim limited to the series the chart provides.
A Pine Script prompt for a profile comparison
Pine Script can test stated reactions around imported or calculated levels. The prompt does not pretend that a simple script replaces a full TPO engine.
Create a Pine Script v6 study that accepts the prior completed session TPO POC as a manual input and calculates prior-session volume POC, VAH, and VAL with adjustable rows and value-area percentage. Plot all levels without changing them during the current session. Mark whether the open is above, below, or between both POCs. Add alerts only after a closed bar accepts above both POCs or rejects below both. Expose session and volume settings, and state that the study does not predict price.Build the rule in Pine Script
Continue the volume analysis
Tools for the next check
Volume Profile Calculator
Calculate Volume Profile with Point of Control (POC) and Value Area (VAH/VAL). Identify key support and resistance levels from volume distribution for market profile analysis.
Volume Profile Analyzer
Analyze volume distribution at price levels. Calculate Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL) from your trading data.
Order Flow Volume Profile
Separate historical volume-at-price structure from live order-flow evidence, data proxies, and bid/ask confirmation.
Fixed Range Volume Profile
Set reproducible range anchors, read POC and value-area levels, and turn a fixed range volume profile observation into a testable rule.
Order Flow Imbalance Calculator
Calculate order flow imbalance (OFI) to identify buying and selling pressure. Analyze bid/ask volume data, spot institutional activity, and understand market dynamics.
Sources and calculation notes
Frequently asked questions
This page is an information tool, not investment advice. Market profile and volume profile describe past auction activity under selected settings. Neither method guarantees support, resistance, entries, exits, or returns. Verify the session, data type, and complete test rule before risking capital.