Crypto trading

POC, VAH and VAL in Volume Profile: Meaning and Calculation

Horizontal volume profile with POC at 103, value area low at 102 and value area high at 105.

POC is the price row with the most traded volume in a volume profile. VAH is the upper boundary of the value area; VAL is its lower boundary. The value area contains a selected share of the profile's volume, commonly 70%.

The examples below show how to calculate all three levels from a small table. Start with 1,000 units of volume, find the busiest price row and build the value area around it. Then change the row width and target percentage to see why two profile settings can produce different levels on the same data.

  • Meaning: read POC, VAH and VAL as a summary of where volume traded during the selected period.

  • Calculation: follow each addition, including what happens when a whole price row takes the total above the target.

  • Application: connect the calculation to New Hope Crypto's volume-profile approach and explore the software in the free Workspace lessons.

Explore New Hope Crypto · Open the free New Hope Crypto lesson
The lesson is free and requires a New Hope Workspace account. Software purchase is separate. Request free Workspace access.

What POC, VAH and VAL actually describe

The point of control (POC) is the row with the most volume in the selected profile. The value area contains a chosen share of volume; 70% is a common setting. VAL and VAH are its lower and upper boundaries. These labels describe a historical distribution, not guaranteed support or resistance. See TradingView’s definitions and calculation method.

Think of a busy railway station. A platform that handled many passengers yesterday tells you where activity concentrated. It does not tell you which platform will be busy tomorrow. Similarly, a large volume node identifies participation during a particular sample. You still need a separate, testable rule for what happens when price revisits it.

A worked profile: find all three levels

Imagine eight equally spaced price rows. Each row represents the same price width, and the volume unit is consistent throughout. We deliberately choose uncomplicated numbers so you can reproduce the arithmetic without specialist software.

Price row

Volume units

Share of total

Final label

107

50

5%

Outside value area

106

150

15%

Outside value area

105

100

10%

VAH

104

200

20%

Inside value area

103

300

30%

POC

102

100

10%

VAL

101

60

6%

Outside value area

100

40

4%

Outside value area

The total is 1,000 units. A 70% target is therefore 700 units. Start with row 103, which contains 300 units and is the POC. Compare the adjacent rows: 104 contains 200 units and 102 contains 100. Add 104, bringing the running total to 500.

The next candidates are 105 and 102, both with 100 units. In this illustration, use the nearer-to-POC tie rule: row 102 is one step away and row 105 is two steps away. Add 102 to reach 600. Now compare 105, with 100 units, against 101, with 60. Add 105 and reach exactly 700.

The completed value area is 102–105, with POC at 103. Notice that row 106 contains more volume than row 105 yet remains outside. We expanded a contiguous area from the POC rather than simply choosing the four largest rows anywhere in the chart. That difference is a useful sanity check when comparing platforms.

What if the target falls between rows?

Real profiles rarely produce such neat arithmetic. A final row may take the total past the percentage target. Platforms can differ in expansion rules, tie handling and boundary conventions. Document the implementation you use; do not manually force two different indicators to agree by moving the lines. The point of this exercise is reproducibility, not an insistence that every chart must return our example’s exact procedure.

Practical worksheet: change one setting and calculate again

Can you reproduce a profile after changing its settings? Use the twelve invented records below as a separate exercise. They are arbitrary price and volume units, not a cryptocurrency, an account history or a New Hope trading result. Keep all twelve records in every run.

Record

Price

Volume units

1

100.25

30

2

100.75

50

3

101.25

60

4

101.75

100

5

102.25

140

6

102.75

100

7

103.25

120

8

103.75

80

9

104.25

70

10

104.75

90

11

105.25

100

12

105.75

60

The total volume is 1,000 units. Copy the table into a spreadsheet: put price in column B and volume in column C. First create one-unit rows starting at 100. A row written as 102–103 includes prices at or above 102 and below 103. Use the same lower-inclusive, upper-exclusive convention for every row.

The rules for this worksheet

  1. Assign a record to a row using: lower boundary = origin + width × floor((price − origin) / width). Add the volumes assigned to that row. In a spreadsheet, SUMIFS can sum volume where price is greater than or equal to the lower boundary and less than the upper boundary.

  2. Choose the row with the largest volume as POC. If several rows share the maximum, this exercise chooses the lower-priced row. Report the whole POC interval; a midpoint label is only a display convention.

  3. Expand a contiguous area from POC. Compare the immediately adjacent rows outside the current area and add the larger one. On equal volume, take the row nearer to POC; if equally near, take the upper row.

  4. Stop once included volume reaches or exceeds the target. Never split the last row. In this exercise VAL and VAH are the outer edges of the included rows, with VAH excluded from the interval.

This is an explicit worksheet convention, not a promise of identical TradingView output. The current TradingView calculation description stops before adding a row that would exceed its target. Record your platform’s stopping rule as well as its percentage. With coarse rows, the difference can be substantial.

Check the 70% run by hand

The one-unit row volumes, from 100–101 to 105–106, are 80, 160, 240, 200, 160 and 160. POC is 102–103. Start with 240, add 103–104 to reach 440, then compare the two 160-unit candidates. The lower candidate 101–102 is closer to POC, so add it to reach 600. Adding 104–105 produces 760 and ends the calculation.

The answer is POC 102–103, VAL 101 and VAH 105. The selected rows contain 76% of volume against a 70% target. The difference is row granularity, not extra precision. Under a stop-before-overflow rule, the same one-unit data would stop at 600 units, or 60%.

Your experiment and answer key

Before reading the answers, repeat the calculation at 60% and 80%. Then restore 70%, double the row width to two units, and finally move the two-unit grid origin from 100 to 99. Do not change the records, their volumes or the expansion rule.

Row width / grid

Target

POC interval

Value-area interval

Included volume / share

1; origin 100

60%

102–103

101–104

600 / 60%

1; origin 100

70%

102–103

101–105

760 / 76%

1; origin 100

80%

102–103

101–106

920 / 92%

2; origin 100

70%

102–104

102–106

760 / 76%

2; origin 99

70%

101–103

101–105

760 / 76%


Two volume profiles of twelve synthetic records: one-unit rows give POC 102–103 and value area 101–105; two-unit rows give POC 102–104 and value area 102–106. Both include 760 of 1,000 units.

Open full-size graphic

Synthetic teaching data, not account performance. The worksheet includes the last complete row needed to reach or exceed the target.

Every interval in the table includes its lower edge and excludes its upper edge. For two-unit rows starting at 100, the volumes are 240, 440 and 320. The 440-unit row is POC and the 320-unit neighbour takes the total to 760. The midpoint label moves from 102.5 to 103 solely because the row width changed. Moving the grid origin changes it again to 102. No new trade was added.

That is the useful result of this exercise: save the grid origin, row width, target and stopping rule alongside POC, VAH and VAL. If a strategy changes direction after this modest adjustment, investigate sensitivity before using the level as a decision rule. A percentage setting describes this sample; it does not give the probability of a profitable trade.

Continue from the calculation to your setup

Next, compare the distribution with an average in Volume Profile vs VWAP, and distinguish completed trades from resting orders in Volume Profile vs order book. If you are researching cryptocurrency software, review New Hope Crypto and ask the team to confirm the current exchange, instrument and package requirements. This worksheet does not reproduce its proprietary strategy.

Before comparing software results, work through the Myfxbook report verification checklist. For a Forex setup, review the separate New Hope PRO product and connection options; a volume-profile exercise alone does not establish software compatibility or future returns.

Four settings that change the answer

1. The start and end of the sample

A profile covering a quiet morning answers a different question from one covering a whole week. For a 24-hour crypto market, define your session boundary explicitly, such as 00:00–23:59 UTC. Record it in the research sheet. Session tools can divide activity by specified sessions, as described in TradingView’s session-profile documentation.

Our practical suggestion is to compare two predetermined windows, not keep dragging the start point until a historical trade looks attractive. Save both results, including the one that does not fit your initial idea. Otherwise the attractive level may be a product of your selection rather than a repeatable feature of the market.

2. Row width

Suppose you merge our rows into pairs. Prices 102 and 103 now form one 400-unit bucket; prices 104 and 105 form a 300-unit bucket. You have changed the resolution and the apparent shape. A wider bucket also makes a label less precise. Record a level as a zone with its actual boundaries when the strategy needs that distinction.

3. The data underneath the picture

A calculation built from aggregated bars can differ from one constructed from individual trades. TradingView documents lower-timeframe selection for its Periodic Volume Profile. For your own comparison, keep the venue, symbol, market type and sample constant before blaming the indicator. A spot pair and a perpetual contract are different datasets.

Our separate guide to tick data versus candle data explains why a candle’s summary cannot describe every event inside it. Also read volume profile versus order book before treating historical traded volume as current resting liquidity.

4. Whether the profile is still developing

Imagine another 250 units trade at 106 after your screenshot. That row now holds 400 units, the total becomes 1,250, and the POC changes. The old screenshot was not necessarily wrong; it described an earlier sample. A research log should distinguish a frozen previous-session profile from a developing current-session profile.

Turn a level into a question you can test

Instead of writing “buy at VAL,” define an observation protocol. For example: record the first return to the previous session’s lower value boundary; record whether price remains inside the value area for three completed one-minute bars; then measure subsequent movement over a fixed horizon. This is an illustrative research design, not an entry recommendation.

Keep entry logic separate from outcome scoring. Decide in advance how to handle repeated touches, missing data, wide spreads and overlapping observations. Include days on which no event occurs. If you remove inconvenient events after seeing their results, the remaining sample will tell a more flattering story than the process deserves.

Research field

Example entry

Why record it?

Profile window

Previous UTC day

Makes comparisons consistent

Reference

Frozen VAL zone

Avoids moving the target later

Observation rule

First return only

Avoids counting one event repeatedly

Execution assumption

Bid/ask and fees included

Separates a chart pattern from a tradable result

Failure record

Missing trades or delayed feed

Shows data-quality exclusions

A useful second experiment changes only the row width while keeping everything else fixed. If a small resolution adjustment completely reverses the result, investigate sensitivity before adding complexity. Compare performance across separate periods, not only across more parameters within the same historical sample.

Where the profile stops helping

A level cannot specify your order’s permitted quantity, execution price or derivatives liquidation trigger. Those are separate operational questions. Review tick size, quantity steps and minimum order value before converting a theoretical position size into an exchange order. For perpetual positions, understand mark price versus last price.

Costs deserve their own line in the experiment. Repeated small moves can look attractive before fees and disappointing afterward. Use the framework in maker and taker fees for trading bots to compare gross movement with realistic execution costs.

A practical profile checklist

  • Name the exchange, symbol and spot or derivatives market.

  • Fix the timezone, sample boundaries and volume units.

  • Record row width, value-area percentage and indicator implementation.

  • Mark each reference as frozen or developing.

  • Save the underlying observations, not only a screenshot.

  • Separate research rules, position sizing and execution checks.

  • Retain failed examples and test a later period independently.

Common questions

Does a 70% value area contain 70% of future price movement?

No. It describes a share of the volume in the selected historical sample. It is not a probability that the next trade succeeds or that price remains inside the boundaries.

Is the POC the same as VWAP?

No. POC identifies the busiest price row. A volume-weighted average combines prices and volumes into an average. A dataset can have the same average and a very different distribution, so the two measurements serve different descriptive purposes.

Can an AI strategy use volume profile automatically?

It can use volume-related inputs as part of defined rules, but the word AI does not specify the formula or remove execution risk. New Hope Crypto combines volume-profile analysis, price-level clustering and price movement in its automated strategy. Discuss the intended exchange, instrument and operating setup with the team; this educational calculation is not a disclosure of the proprietary VP2 model.

POC is the highest-volume row, not the volume-weighted average price. Follow the Volume Profile vs VWAP worked example to calculate both from the same ten trades and see why changing profile bins can move POC without changing exact trade-based VWAP.

Get our presentation about New Hope PRO and CRYPTO

Get our presentation about New Hope PRO and CRYPTO

Get our presentation about New Hope PRO and CRYPTO