All posts
Technical Analysis2026/02/02Updated: By Iven W.

Volume Profile Levels: POC, Value Area, HVN/LVN, and Data Controls

Learn how Volume Profile is calculated, why POC and Value Area vary by platform, and how to define HVN, LVN, acceptance, rejection, failure, and replay records.

Volume Profile reorganizes volume by price rather than displaying it only by time. That makes it useful for asking where the selected dataset recorded the most or least activity during a frozen session, range, or visible chart window.

It does not reveal an institution’s position, cost basis, intention, or future defense level. A horizontal profile is a derived histogram. Its POC, Value Area, high-volume nodes, and low-volume nodes depend on the data source and calculation settings used to build it.

Key takeaways:

  • Freeze the profile type, start and end, session, timezone, lower-timeframe source, row layout, row size, volume type, and value-area percentage before interpreting a level.
  • POC is the highest-volume price row in that specific profile, not a universal fair-value price.
  • VAH and VAL depend on the selected value-area algorithm and percentage.
  • HVN and LVN are relative features of the chosen histogram; they require explicit classification rules.
  • Completed profiles and developing profiles answer different questions and must not be mixed in a historical test.
  • A Volume Profile level becomes a trading hypothesis only after touch, acceptance, rejection, failure, expiry, and same-bar ambiguity rules are defined.

For the beginner overview and common strategy families, use the Volume Profile trading guide. For a dedicated replay and backtesting workflow, use the Volume Profile strategy backtest guide. This page owns the calculation, data-control, level-definition, and state-testing layer between those two pages.

What Volume Profile Actually Measures

A standard volume bar answers:

How much volume was recorded during this time interval?

A Volume Profile asks:

How much of the available volume was allocated to each price row inside this selected profile?

The word allocated matters. Historical bar data often does not identify the exact traded price of every unit of volume. A platform may use lower-timeframe bars and distribute or classify their volume according to its own implementation.

TradingView documents that its Volume Profile tools use lower-timeframe data for the same symbol. It also documents different input types by market: trade volume for stocks, tick volume for indices, forex and crypto CFDs, and base or quote volume for crypto. That means two profiles with similar visual shapes may be based on materially different data definitions.

Volume Profile does not directly prove:

  • which participant bought or sold;
  • whether a large institution accumulated or distributed;
  • whether volume was opening or closing activity;
  • whether a trader remains in the position;
  • whether a high-volume row will hold;
  • whether a low-volume row will be crossed quickly;
  • whether price will return to the POC.

For raw volume definitions, exchange/feed differences, and participation limits, see how to read trading volume.

Freeze the Profile Type Before Reading Its Levels

Different Volume Profile tools answer different range questions.

Profile typeFrozen rangeMain implementation risk
Session Volume ProfileOne defined session or subsessionRegular versus extended hours, session template, timezone and holidays
Fixed Range Volume ProfileUser-selected start and endHindsight in anchor selection and changing boundaries
Visible Range Volume ProfileBars currently visible on screenZooming or scrolling changes the calculation
Periodic Volume ProfileRepeating day, week, month or custom periodCalendar boundaries, incomplete current period and timezone
Auto-Anchored Volume ProfilePlatform-selected anchorAnchor logic can change with timeframe or chart state
Composite profileMultiple sessions or a longer selected structureStart/end choice can merge different market regimes

TradingView’s official documentation confirms that Fixed Range, Session, Visible Range, Periodic, and Auto-Anchored profiles use different range and lower-timeframe selection logic.

Session profile

A session profile can isolate:

  • pre-market;
  • regular market hours;
  • post-market;
  • a futures trading session;
  • a custom time window;
  • an entire 24-hour crypto day;
  • a broker-defined forex day.

A session label without the actual hours and timezone is incomplete. A US equity regular-session profile can differ from an all-sessions profile because extended-hours trades are included in one and excluded from the other.

Fixed-range profile

A fixed-range profile is vulnerable to hindsight. If the analyst draws the range after seeing the outcome, the chosen start and end can be adjusted until a desired POC or node appears.

A reproducible fixed-range rule might anchor to:

  • the first bar after an objectively defined gap;
  • a confirmed swing low through a confirmed swing high;
  • the beginning and end of a completed balance area;
  • a scheduled event timestamp through a fixed number of sessions;
  • a calendar week or month.

The anchor rule must be knowable at the decision timestamp.

Visible-range profile

Visible Range Volume Profile changes when the chart viewport changes. It is useful for exploration, but historical testing requires the exact visible start, visible end, chart size, timeframe, and zoom state to be recorded or replaced by a fixed-range rule.

Developing profile

A developing session or periodic profile changes as new bars arrive. The POC, VAH, VAL, and nodes can migrate during the period.

A test must distinguish:

  • developing level: the value available at that historical timestamp;
  • final level: the value calculated after the profile period completed;
  • previous completed level: the final value from a prior period, available at the start of the next period.

Using a final session POC to justify an entry that occurred before the session ended creates look-ahead bias.

Row Construction Changes the Profile

A profile divides the price range into rows or bins. The same volume data can produce different peaks and valleys when the number or height of those rows changes.

Common controls include:

  • number of rows;
  • ticks per row;
  • price per row;
  • automatic row size;
  • percentage of profile height;
  • lower-timeframe resolution;
  • tick-size rounding;
  • maximum bar or row limits.

TradingView documents that row size may be specified by a number of rows or ticks per row, with rounding based on the symbol’s tick size. Sierra Chart advises that tick-by-tick intraday data and a one-tick Volume by Price setting can be necessary for the greatest accuracy and consistency when comparing POC and Value Area results.

Why row size matters

Suppose one profile spans 100 price ticks:

  • 20 rows produce rows approximately 5 ticks high.
  • 50 rows produce rows approximately 2 ticks high.
  • 100 rows produce one-tick rows.

A broad row can merge several nearby peaks into one HVN. A narrow row can split one broad acceptance area into several local peaks and valleys.

There is no universal row count that is correct for every symbol, timeframe, range, and purpose. The row rule must be versioned and tested for stability.

Precision and tie rules

Two rows can contain equal maximum volume. Platforms may:

  • select the higher row;
  • select the lower row;
  • select the first encountered row;
  • use a midpoint or tie-breaking rule;
  • display multiple control rows;
  • round volumes before comparison.

The POC definition must state how ties are handled.

Point of Control: Definition and Test Boundary

The volume Point of Control, or POC, is the price row with the highest allocated volume in the frozen profile.

POC row = arg max(V₁, V₂, …, Vₙ)

where each Vᵢ is the allocated volume for one price row.

The POC is not automatically:

  • the session VWAP;
  • the midpoint of the range;
  • the most frequently visited price;
  • the price with the most bid volume;
  • the price with the most ask volume;
  • the cost basis of institutions;
  • a support or resistance line;
  • a guaranteed magnet.

Static versus developing POC

Record whether the rule uses:

  • previous completed profile POC;
  • current developing POC;
  • fixed-range POC frozen at a selected end time;
  • composite POC;
  • naked or untested historical POC;
  • first-touch POC after the profile completed.

These are different variables.

POC level versus POC zone

A row represents a price interval, not always one exact price. A platform may label the row at its midpoint, upper boundary, lower boundary, or tick price.

A test should define whether a POC interaction occurs when:

  • the candle range touches any part of the row;
  • the close enters the row;
  • the close crosses the row midpoint;
  • price spends a minimum number of closed bars inside the row;
  • a lower-timeframe sequence trades through the row.

Value Area, VAH, and VAL

The Value Area is a selected set of price rows intended to contain a chosen percentage of profile volume.

TradingView documents a common procedure:

  1. calculate total profile volume;
  2. multiply by the selected Value Area percentage;
  3. begin with the POC row;
  4. compare neighboring rows above and below;
  5. add rows according to the platform’s expansion and tie rules until the target is reached or the implementation stops.

The upper included boundary is Value Area High, or VAH. The lower included boundary is Value Area Low, or VAL.

Seventy percent is a setting, not a law

Many platforms default to 70%, but TradingView explicitly allows the user to change the percentage. The percentage must be recorded as part of the profile version.

The statement that 70% equals one standard deviation is not generally valid for an arbitrary volume-at-price distribution. A Value Area algorithm is not automatically fitting a normal distribution.

Value Area implementation differences

Results can differ because of:

  • row height;
  • POC tie handling;
  • whether one row or two rows are compared per expansion step;
  • whether a row that exceeds the remaining target is included;
  • how equal neighbor volumes are resolved;
  • whether disconnected rows are allowed;
  • rounding of row volume;
  • whether incomplete current data is included.

Two platforms can use the same 70% input and still return different VAH and VAL.

VAH and VAL are not permanent levels

VAH and VAL belong to one profile version. They can change when:

  • the profile range expands;
  • the developing session receives more data;
  • extended-hours data is enabled;
  • the row layout changes;
  • a data correction arrives;
  • the platform selects a different lower timeframe;
  • the symbol’s historical data is adjusted.

Define HVN and LVN Reproducibly

A High Volume Node is a local or regional peak in the volume histogram. A Low Volume Node is a local or regional valley.

Those descriptions are intuitive but incomplete. A machine, another analyst, or your future self needs a precise rule.

Example HVN versions

A row may qualify as an HVN when:

  • its volume is greater than the immediately adjacent row above and below;
  • its volume is above a selected percentile of all rows;
  • its volume exceeds a percentage of POC volume;
  • a group of adjacent rows exceeds a threshold and is merged into one zone;
  • a smoothed histogram forms a local maximum;
  • the node persists across several completed profiles.

Example LVN versions

A row may qualify as an LVN when:

  • its volume is lower than adjacent rows;
  • it is below a selected percentile;
  • it falls below a percentage of POC volume;
  • it separates two objectively defined HVN regions;
  • a smoothed histogram forms a local minimum;
  • the valley width exceeds a minimum number of ticks or rows.

Node zone boundaries

A node is often a zone rather than one row. Freeze how the zone expands:

  • until volume falls below a fraction of the peak;
  • until the histogram slope changes sign;
  • by a fixed number of neighboring rows;
  • through a clustering algorithm;
  • by manual annotation under a written rule.

Without a zone-width rule, an apparent bounce can be labeled successful after the fact by widening the node.

Volume Profile Levels Are Reactive, Not Institutional Position Maps

Volume Profile is backward-looking. It displays activity that the selected data and algorithm assigned to past price rows.

A high-volume area can reflect:

  • two-sided trade during balance;
  • repeated rotation;
  • forced liquidation and replacement buying;
  • news-driven turnover;
  • market-maker inventory changes;
  • short-term trading rather than long-term holdings;
  • multiple participants with opposing positions;
  • volume later closed elsewhere.

The histogram does not identify which explanation is correct.

Therefore, replace claims such as:

Institutions accumulated here and will defend the level.

with a testable observation:

This completed profile contains an objectively defined high-volume zone. The next interaction will be classified using frozen touch, acceptance, rejection, failure, and expiry rules.

For broad price-based level identification, use the support and resistance identification guide. Volume Profile can supply one input, but it does not replace market structure or price confirmation.

Build a Level-Interaction State Machine

A profile level has no outcome until price interacts with it. The state machine below separates the historical profile from the later chart event.

1. Reference profile completed

Record:

  • profile type;
  • range start/end;
  • completion timestamp;
  • data/session settings;
  • row settings;
  • final POC, VAH, VAL, HVN, and LVN zones.

No future bars may influence the reference profile.

2. Level candidate

A candidate is one frozen level or zone selected before the interaction.

Examples:

  • prior-session POC;
  • prior-session VAH or VAL;
  • untouched composite HVN;
  • LVN separating two HVNs;
  • developing POC at a historical timestamp, if the study explicitly tests developing values.

3. Approach

Define when price is considered to be approaching:

  • within a fixed number of ticks;
  • within a percentage distance;
  • within an ATR-normalized distance;
  • inside a neighboring profile row;
  • within a specified number of closed bars.

Approach is not touch.

4. Touch

Possible touch definitions:

  • candle high-low overlaps the zone;
  • bid, ask, or last trade reaches the level in tick data;
  • bar closes inside the zone;
  • price crosses the zone midpoint;
  • the first lower-timeframe bar enters the zone.

For OHLC-only replay, the exact intrabar order may be unknown.

5. Acceptance

Acceptance is a versioned condition, not a visual impression. It might require:

  • one or more closes inside or beyond the level;
  • a minimum time or bar count inside the zone;
  • a minimum traded range beyond the boundary;
  • a completed retest that holds;
  • developing volume at the new area, if the required data is available;
  • a higher-timeframe close, visible only after that bar completes.

6. Rejection

A rejection version might require:

  • entry into the zone followed by a close back outside;
  • a close beyond a defined rejection buffer;
  • no acceptance within a fixed number of bars;
  • a return to the approach side before expiry;
  • independent price-structure confirmation.

A wick alone is not automatically rejection unless the rule says it is.

7. Break and retest

Specify:

  • intrabar cross versus close beyond;
  • buffer size;
  • whether consecutive closes are required;
  • maximum bars allowed before retest;
  • whether the retest must touch the exact row or a wider zone;
  • whether the retest is optional or required;
  • what invalidates the new role.

8. Failure

Examples:

  • rejection candidate later accepts through the level;
  • breakout candidate closes back inside the reference area;
  • POC rotation candidate never reaches the defined destination;
  • LVN traversal stalls beyond the allowed duration;
  • the level changes because a developing profile was incorrectly treated as final.

9. Expiry

A candidate can expire after:

  • a fixed number of bars;
  • a session close;
  • a new profile replaces the reference;
  • a corporate action or contract roll changes comparability;
  • the level is touched too many times under the test version;
  • market structure invalidates the original context.

10. Ambiguous

Label the event ambiguous when:

  • OHLC data cannot resolve whether stop, target, or confirmation occurred first;
  • one bar crosses both sides of the zone;
  • the required lower-timeframe data is unavailable;
  • a data correction changes the profile;
  • two POC rows tie and the platform rule is unknown;
  • the exact profile range cannot be reconstructed.

Do not force ambiguous events into winners or losers.

Completed Levels Versus Developing Levels

This distinction prevents one of the most common testing errors.

Previous completed profile

At the start of a new session, the prior session’s final POC, VAH, and VAL are known. They can be frozen as historical references.

Current developing profile

During the current session, the profile changes. A developing POC that appears at the close may not have existed at the morning entry time.

A historical test needs timestamped snapshots or a platform capable of replaying the indicator’s developing state. Looking at the completed profile after the session and assuming those levels were available all day is hindsight.

Fixed-range profile ending at the decision bar

A profile can be recomputed at each decision timestamp using only data available then. That is valid if the anchor and end rule are fixed in advance, but it is computationally different from one completed range drawn after the move.

Market and Data Controls

Stocks and ETFs

Record:

  • exchange or consolidated feed;
  • regular versus extended session;
  • trade corrections;
  • odd-lot treatment where relevant;
  • stock split and dividend adjustment policy;
  • symbol changes and delistings;
  • whether ETF volume is being interpreted separately from underlying holdings.

A historical split can move displayed price levels when adjusted data is used.

Futures

Record:

  • exact contract;
  • exchange session template;
  • settlement versus last-trade price field;
  • rollover date;
  • back-adjusted, ratio-adjusted, or unadjusted continuous series;
  • whether volume comes from the individual contract or a constructed continuous series.

A composite profile across a roll can mix different contracts and adjusted prices.

Spot forex and CFDs

Centralized total market volume is generally not available from one retail chart. TradingView documents tick volume for forex and CFD profiles. A broker or data-provider profile therefore represents that feed’s price updates, not total global forex transactions.

Crypto

Record:

  • exchange;
  • spot or perpetual market;
  • base-volume or quote-volume input;
  • stablecoin quote;
  • session/day boundary;
  • venue outages and symbol migrations;
  • whether several exchanges were aggregated.

A profile from one venue does not automatically represent the entire crypto market.

Non-standard charts

TradingView warns that Heikin Ashi, Renko, Line Break, Kagi, Point and Figure, and Range charts can distort price and volume used by Volume Profile calculations. For exact level testing, prefer standard time-based candles unless the non-standard construction itself is the documented research subject.

See Heikin Ashi versus candlestick charts for the broader distinction between transformed and actual OHLC values.

Multi-Timeframe and Session Availability

A higher-timeframe or prior-period level must have an availability timestamp.

Examples:

  • Prior daily POC is available after the daily profile completes.
  • Weekly VAH is final only after the weekly period closes.
  • Current weekly developing VAH can move during the week.
  • A regular-session profile is not final during pre-market before that regular session begins.
  • A custom London-session forex profile requires DST-aware session boundaries.

A lower-timeframe test using a higher-timeframe final profile before completion has look-ahead leakage.

For general timeframe alignment, use the multiple-timeframe analysis guide.

Volume Profile versus time-based volume

Time-based volume shows participation per bar. Volume Profile distributes volume across price rows. Neither identifies participant intent.

Volume Profile versus VWAP

VWAP is a volume-weighted average price over a defined anchor or session. POC is the highest-volume row. They can be near each other or materially different.

For the exact VWAP formula, anchor, session, and data controls, use the VWAP trading strategy guide.

Volume Profile versus Market Profile or TPO

TPO organizes time-at-price or letter/block occurrences rather than volume-at-price. A TPO Point of Control and a volume POC can differ because they optimize different quantities.

Volume Profile versus Level 2

Level 2 displays current quoted depth for the available venue/feed. Volume Profile summarizes historical volume-at-price. Historical executions and current resting orders are not the same dataset.

See how to read Level 2 and the order book for quote-depth limits.

Volume Profile versus ordinary support and resistance

Price-based levels use pivots, touches, zones, closes, and role reversals. Volume Profile levels use a derived volume distribution. A study can combine them, but each input should be labeled separately.

Volume Profile versus market structure

Market structure describes swing relationships, ranges, and transitions. Profile nodes do not define higher highs, lower lows, break of structure, or trend direction by themselves.

Use the market structure guide for that separate layer.

Profile Shape Labels Need Rules

Terms such as D-shaped, P-shaped, b-shaped, double-distribution, thin, and elongated are common in profile analysis. They can become subjective if the classification is not specified.

A reproducible shape classifier may use:

  • POC location as a percentile of profile height;
  • skewness of row volume;
  • number and prominence of local peaks;
  • distance between peaks;
  • Value Area width relative to total profile range;
  • upper-versus-lower volume concentration;
  • smoothing parameters;
  • minimum observations and rows.

Avoid assigning participant stories automatically. A P-shaped profile does not prove short covering, and a b-shaped profile does not prove long liquidation without independent evidence.

Reproducible Volume Profile Worksheet

Use one row per profile version and level interaction.

FieldWhat to record
Symbol and marketExact stock, ETF, futures contract, forex feed, CFD, or crypto venue
Data providerFeed and subscription level
Profile typeSession, Fixed Range, Visible Range, Periodic, Auto-Anchored, Composite
Start and endExact timestamps and timezone
Session templateRegular, extended, exchange, broker, or custom hours
Profile statusDeveloping, completed, or previous completed
Chart typeStandard candles or documented transformed chart
Lower-timeframe sourceResolution used by the platform
Volume typeTrade, tick, base, quote, total, up/down, delta
Row layoutNumber of rows or ticks per row
Tick size and roundingSymbol tick size and row-rounding behavior
Value Area percentageExact input
POC tie ruleHigher, lower, first, multiple, or unknown
Value Area algorithmExpansion and overshoot/tie behavior
POCExact row boundaries and label
VAH / VALExact boundaries
HVN / LVN versionThreshold, local-extrema and zone-width rules
Candidate levelWhich level was selected before interaction
Approach and touchDistance and interaction definition
ConfirmationAcceptance, rejection, break, retest rule
FailureExact rule
ExpiryBar, session, touch-count, or structure rule
Ambiguity policySame-bar and missing-data handling
ContextTrend, range, event, gap, session, volatility
ResultAccepted, rejected, traversed, failed, expired, ambiguous, no interaction
Costs and executionOnly if a separate simulated-trade layer is evaluated
Version IDImmutable name for every setting combination

Separate Chart Outcomes From Trade Outcomes

A level study can evaluate chart behavior without simulating an order.

Chart outcomes might include:

  • maximum favorable distance from the level;
  • maximum adverse distance;
  • bars spent inside the zone;
  • time to acceptance or rejection;
  • probability of reaching another profile reference under one frozen sample;
  • frequency of ambiguous bars;
  • level survival by touch count;
  • behavior by market, session, volatility, and trend regime.

A trade simulation additionally requires:

  • entry order type;
  • spread and slippage;
  • stop and target;
  • intrabar event order;
  • commissions and fees;
  • partial fills;
  • gaps and halts;
  • liquidity and market impact;
  • short-sale constraints;
  • position sizing.

Do not call a level “profitable” based only on a visual bounce.

Testing Workflow Without Hindsight

  1. Choose the market and data source.
  2. Freeze the profile type, range, session, timezone, rows, volume input, and Value Area percentage.
  3. Save only the profile information available at the historical decision timestamp.
  4. Define POC, VAH, VAL, HVN, and LVN precisely.
  5. Select the candidate level before revealing the later bars.
  6. Define approach, touch, acceptance, rejection, break, failure, expiry, and ambiguity.
  7. Move forward bar by bar.
  8. Record the chart outcome separately from any simulated trade.
  9. Keep development, validation, and evaluation samples separate.
  10. Test whether conclusions survive reasonable changes in rows, range, session, and provider.

The Volume Profile backtest guide owns the dedicated practice sequence. The general backtesting guide covers broader sample, bias, and evaluation controls.

Common Volume Profile Errors

Treating profile levels as institutional positions

Volume-at-price does not identify ownership or intention.

Changing the range after seeing the reaction

This lets the analyst move the POC and nodes until they fit the chart.

Using the final current-session profile intraday

That introduces information unavailable at the historical timestamp.

Ignoring row size

Changing rows can merge or split POC, HVN, and LVN regions.

Mixing regular and extended sessions

The included transactions and resulting levels change.

Comparing platforms without matching data and algorithms

Identical labels do not guarantee identical calculations.

Calling every local peak an HVN

A node requires a threshold, prominence, and zone rule.

Assuming an LVN must accelerate price

Price can pause, reject, or build new volume in a prior low-volume area.

Using transformed charts

Non-standard bars can distort the underlying price/volume construction.

Ignoring completed versus developing levels

A moving level cannot be tested as if it were static.

Counting ambiguous OHLC bars as successes

Without lower-timeframe data, the event order may be unknowable.

Overfitting settings

Repeatedly changing range, rows, Value Area percentage, and confirmation rules against one sample can fit noise.

What ChartMini Can and Cannot Do

ChartMini can support lightweight candle-by-candle chart replay. You can externally calculate and record a completed profile’s reference levels before starting a replay session.

ChartMini does not currently:

  • calculate Volume Profile;
  • reconstruct historical developing POC or Value Area;
  • allocate volume by price;
  • provide tick-by-tick or bid-ask data;
  • display volume delta or footprint charts;
  • import a platform’s POC, VAH, VAL, HVN, or LVN automatically;
  • reproduce TradingView or Sierra Chart profile algorithms;
  • model live order routing, fills, slippage, halts, or liquidity;
  • prove that a Volume Profile strategy is profitable.

Historical and hypothetical testing has inherent limitations. The CFTC warns that simulated results may not reflect market factors and that no representation should be made that an account will achieve results similar to hypothetical performance.

Practical Next Steps

  1. Select one profile type and one market.
  2. Record the exact data, session, timezone, range, row, and Value Area settings.
  3. Verify how the platform calculates POC and expands the Value Area.
  4. Define HVN and LVN with numerical or algorithmic rules.
  5. Freeze completed levels before revealing later bars.
  6. Test acceptance, rejection, break, failure, expiry, and ambiguity separately.
  7. Compare results across reasonable row sizes and data/session variants.
  8. Keep chart behavior separate from trade execution assumptions.
  9. Preserve every version rather than overwriting failed settings.

Frequently Asked Questions

What does Volume Profile measure?

Volume Profile groups the available volume data into price rows for a defined range or session. It shows where the selected platform allocated more or less volume by price, not who traded, why they traded, or where institutions currently hold positions.

What is the Point of Control in Volume Profile?

The volume Point of Control is the price row with the highest allocated volume inside the frozen profile. Its value can change when the profile range, session, row size, lower-timeframe data, volume source, or tie-breaking rule changes.

What are VAH and VAL?

Value Area High and Value Area Low are the upper and lower boundaries of the rows included in a selected value-area percentage. The platform usually starts from the Point of Control and adds neighboring rows, but the percentage, row construction, expansion order, and tie rules must be verified.

Do high-volume nodes always act as support or resistance?

No. A high-volume node only records relatively high activity within the chosen profile and row definition. Price can pause, rotate, accept, reject, or move through it. A testable rule needs a frozen node threshold, touch definition, confirmation, failure, expiry, and market context.

Why do Volume Profile levels differ between platforms?

Platforms can use different profile ranges, sessions, lower-timeframe data, row sizes, tick grouping, volume types, allocation methods, corporate-action adjustments, futures-roll methods, and value-area algorithms. Small implementation differences can move POC, VAH, VAL, HVN, and LVN levels.

Can ChartMini calculate Volume Profile levels?

No. ChartMini is a lightweight candle-by-candle replay tool and does not calculate Volume Profile, POC, VAH, VAL, HVN, LVN, bid-ask delta, or order-flow data. You can record externally calculated levels before replay, but ChartMini does not reproduce the source platform's profile.

Sources and Method Notes