Skip to main content
AuctionFoundry
Menu

INDICATOR MANUAL

Volume profile node indicatorVolume Profile Node Map (VPNM) [AFD] · full manual · published to TradingView

Locate estimated volume shelves, valleys and POC prices in today’s Daily map, add completed Weekly and Monthly profiles when needed, and keep earlier zones as optional retained history.

53 documented settingsPublished on TradingView · Sep 7, 2026 · Updated Sep 29, 2026

Start here

What the indicator does, the questions it can help answer, and its fresh-install defaults.

Maps Daily, Weekly and Monthly OHLCV volume-by-price estimates as HVN shelves, LVN valleys and POC prices, with optional same-type shared prices, zone fills and retained zones.

Updated on TradingView on September 29, 2026. The update removes and reorders inputs, so a chart that already carries VPNM can load earlier saved values into different controls, and an instance saved with changed settings can stop with a runtime error. Remove VPNM from the chart and add it again, then review the settings. Existing alerts keep the earlier version and settings until they are deleted and recreated.

The script is free to use on TradingView with protected source. It estimates volume across each available source bar’s high-low range in proportion to price overlap. It cannot identify individual transaction prices or buy/sell volume.

Use a time-based intraday bar or candlestick chart on a symbol whose feed carries traded volume. Index tickers and many broker CFD tickers supply none; exchange tickers such as COINBASE:BTCUSD do. The profile reads 1-minute bars, or 2-minute bars on 1-hour and higher charts; if those are unavailable it folds whole chart bars and reports that fallback in the Data Window.

The default view is today’s Daily map: HVN, LVN and POC with labels, regular-hours volume, Auto rows and Flat fill. It does not draw a separate histogram beside the price axis.

Fresh-install defaults8 documented defaults

Swipe or scroll horizontally to see every column.

Volume Profile Node Map (VPNM) fresh-install defaults
AreaDefaultResult
Daily profile / SessionToday (in progress) / Regular hours onlyToday’s map updates on confirmed chart bars and ignores Daily periods. Regular hours are exchange-defined; on futures they can include overnight trading.
Weekly / MonthlyOff / OffWhen enabled, each combines its completed periods (2 weeks, 1 month by default) into one composite.
HVN / LVN / POCGeometry and labelsEach selector offers Off, Geometry, or Geometry and labels. Node limit is 2 per type and timeframe.
Node method / cutoffsCutoff / HVN 65%, LVN 20%Valleys is the alternative method; its Valley ratio defaults to 50%.
Zone row resolution / Auto rowsAuto / 100Each composite fits its range on a shared base grid; wider composites can use broader rows.
Zone fill / Zone extentFlat / Extend to todayProfile and Heat fills are optional. Profile detail starts at Finest rows.
Shared price / Retained zones / alertsOffEnable each layer, and each alert switch, explicitly.
Range basis / Nearest zones per sideOff / 0No distance or focus filtering at fresh defaults.

How it works

How the indicator turns chart data into the states and drawings you see.

Today and completed periods

Today (in progress) draws today’s confirmed-bar map only and ignores Daily periods; a new day is pending until its first confirmed snapshot. Completed periods, and Weekly and Monthly always, sum the selected number of completed periods before detecting nodes, so two days mean one two-day composite. A period closes once a confirmed chart bar covers the requested session’s endpoint; missing endpoint metadata or no qualifying bar can defer completion. The first partial period in loaded history is excluded.

Two node methods

Cutoff, the default, keeps local peaks that clear HVN cutoff % as merged shelves, and interior minima at or below LVN cutoff % with busier rows on both sides as LVNs; profile tails are never LVNs. Valleys instead splits the profile at deep dips, governed by Valley ratio %, and takes one HVN core from each mass between them. Under both, POC is the highest-volume row midpoint rounded to a tick, and the POC shelf is protected from Node limit. These are Auction Foundry conventions.

Direct settings, always editable

The Profile and Instrument presets are gone: Session, node method, rows and period counts each have their own control, and every control stays editable, including after Reset. Editing a value does not enable a feature; each setting’s hover explains when its value is used. HVN cutoff still classifies LVN Profile colors when HVN geometry is hidden.

Same-type shared prices

Shared price marks actual intersections of the same type across the required two or three timeframes; partial overlap qualifies, contact at a single price does not. HVN and LVN do not combine. Highlight overlays the base map; Only hides base levels and retained zones.

Retained zones

With Today selected, yesterday’s completed Daily profile enters retention at the next Daily boundary; completed Daily, Weekly and Monthly retain the composite a new one replaces. Retained bands start at their source period, which identifies the source window rather than when the level became known, and draw until the Break rule first fires. Earlier zones kept per timeframe is a ceiling: the oldest profile leaves with all its zones at once. Filters and lifecycle rules can hide a kept band, so not every earlier band stays visible.

Zone fill and profile detail

Flat is one translucent box. Profile draws each zone’s estimated row volumes as bars inside it, with fainter shoulders; Heat shades up to five price steps by mean volume share. Fill source picks the zone’s own composite or one enabled timeframe. Profile detail changes display rows only: it does not change zones, POC or shared geometry. Uncovered prices draw Flat.

Status note and coverage

A compact middle-right note names the first chart, data or settings condition affecting the map; its hover holds every full reason. Incomplete or unverified source coverage keeps the available map visible with a note, and affected retained zones suppress their alerts. The Data Window carries volume, grid and level-state provenance, readiness and suppression counts.

Output and state reference5 documented states

Swipe or scroll horizontally to see every column.

Volume Profile Node Map (VPNM) outputs and states
Output or stateWhen it appearsMeaning
HVN / LVNQualifying shelf or interior valley in an enabled ready profileEstimated volume concentration or gap; no claim about the next price reaction.
POCHighest estimated-volume row selectedOne tick-rounded midpoint reference price, drawn above zone fills.
Shared priceRequired timeframes share same-type geometryAn intersection of measured levels, not a probability.
Retained zone (old HVN / old LVN)Retained zones on and an earlier profile still eligibleAn earlier band tracked under the selected test and break rules.
Status noteChart, data, coverage or settings condition affects the mapHover the note for the full reason before interpreting absent or partial drawings.

Settings

All 53 inputs are listed below in their 9 source groups. Every control stays editable; a value applies only where its hover says it is used. Changing Profile detail is distinct from changing the grid that calculates nodes.

Map10 inputs

Swipe or scroll horizontally to see every column.

Map settings and defaults
SettingControlDefaultChoices, limits & availability
Daily profiledailyScopeInputChoice / textToday (in progress)Off · Today (in progress) · Completed periods
WeeklyshowWeeklyInputToggleOff—
MonthlyshowMonthlyInputToggleOff—
SessionsessionScopeInputChoice / textRegular hours onlyRegular hours only · Include extended hours
HVNhvnDisplayInputChoice / textGeometry and labelsOff · Geometry · Geometry and labels
LVNlvnDisplayInputChoice / textGeometry and labelsOff · Geometry · Geometry and labels
POCpocDisplayInputChoice / textGeometry and labelsOff · Geometry · Geometry and labels
Node limitmaxNodesInputWhole number2Min 1 · Max 6
Zone fillzoneFillInputChoice / textFlatFlat · Heat · Profile
Zone extentboxExtentInputChoice / textExtend to todayExtend right · Extend to today · Period
Shared price4 inputs

Swipe or scroll horizontally to see every column.

Shared price settings and defaults
SettingControlDefaultChoices, limits & availability
Shared pricesharedModeInputChoice / textOffOff · Highlight · Only
Minimum shared timeframesminShareTfInputWhole number2Min 2 · Max 3
Show labelsshowConfLabelsInputToggleOn—
Collapse shared tagscollapseSharedTagsInputToggleOff—
Calculation10 inputs

Swipe or scroll horizontally to see every column.

Calculation settings and defaults
SettingControlDefaultChoices, limits & availability
Daily periodsdailyLookbackInputWhole number2Min 1 · Max 10
Weekly periodsweeklyLookbackInputWhole number2Min 1 · Max 10
Monthly periodsmonthlyLookbackInputWhole number1Min 1 · Max 10
Node methodnodeMethodInputChoice / textCutoffCutoff · Valleys
Zone row resolutionrowSizeModeInputChoice / textAutoAuto · Minimum ticks
Auto rowsrowCountInputWhole number100Min 12 · Max 250
Minimum row height (ticks)ticksPerRowInputWhole number4Min 1
HVN cutoff %hvnPctInputWhole number65Min 1 · Max 100
LVN cutoff %lvnPctInputWhole number20Min 1 · Max 100
Valley ratio %valleyPctInputWhole number50Min 1 · Max 99
Fill11 inputs

Swipe or scroll horizontally to see every column.

Fill settings and defaults
SettingControlDefaultChoices, limits & availability
Fill applies tofillAppliesInputChoice / textBothBoth · HVN only · LVN only
Profile transparencyprofTInputWhole number60Min 0 · Max 95
Profile width (bars)profWidthInputWhole number60Min 5 · Max 500
Profile margin (rows)profMarginInputWhole number4Min 0 · Max 20
Profile detailprofDetailInputChoice / textFinest rowsNode rows · Finest rows · Custom ticks
Profile row height (ticks)profTicksInputWhole number4Min 1
Row separator linesprofRowLinesInputToggleOff—
Colour profile nodesprofNodeColorsInputToggleOn—
Fill sourceheatSourceInputChoice / textOwn compositeOwn composite · Daily · Weekly · Monthly
Heat stepsheatStepsInputWhole number3Min 1 · Max 5
Heat transparencyheatTInputWhole number75Min 0 · Max 95
History2 inputs

Swipe or scroll horizontally to see every column.

History settings and defaults
SettingControlDefaultChoices, limits & availability
Retained zonesretainedDisplayInputChoice / textOffOff · Geometry · Geometry and labels
Earlier zones kept per timeframeretainLookbackInputWhole number6Min 1 · Max 8
Appearance6 inputs

Swipe or scroll horizontally to see every column.

Appearance settings and defaults
SettingControlDefaultChoices, limits & availability
HVN colourhvnColorInputColor#5D8FB5 · 80% transparent—
LVN colourlvnColorInputColor#929AA6 · 88% transparent—
POC colourpocColorInputColor#FFB300 · 0% transparent—
Border and line styledrawStyleInputChoice / textDefaultDefault · Solid · Dashed · Dotted
Tag sizetagSizeInputChoice / textSmallTiny · Small · Normal
Tag column spacing (bars)tagColumnBarsInputWhole number20Min 8 · Max 100
Retention rules3 inputs

Swipe or scroll horizontally to see every column.

Retention rules settings and defaults
SettingControlDefaultChoices, limits & availability
Rule sessionlifecycleScopeInputChoice / textMatch profileMatch profile · All available
Break rulebreakRuleInputChoice / textClose throughClose through · Wick through
Test ruletestRuleInputChoice / textWick touchWick touch · Close inside
Alerts2 inputs

Swipe or scroll horizontally to see every column.

Alerts settings and defaults
SettingControlDefaultChoices, limits & availability
Alert: retained zone testedalertTestedInputToggleOff—
Alert: retained zone brokenalertBrokenInputToggleOff—
Display filters5 inputs

Swipe or scroll horizontally to see every column.

Display filters settings and defaults
SettingControlDefaultChoices, limits & availability
Range basisrangeBasisInputChoice / textOffOff · Percent of close · Daily ATR
Display range from close (%)maxDistPctInputDecimal5.0Min 0 · Max 100 · Step 0.5
ATR lengthatrLenInputWhole number14Min 1 · Max 100
ATR multiplieratrMultInputDecimal1.2Min 0.1 · Max 10 · Step 0.1
Nearest zones per sidefocusNInputWhole number0Min 0 · Max 6

Alerts and limitations

What can notify you, what can change the output, and what the indicator cannot establish.

Dynamic alert events

Retained zone tested

First qualifying test of a retained HVN/LVN band under Test rule and Rule session.

Retained zone broken

First qualifying break under Break rule; the band stops drawing.

Limits to keep visible

  • OHLCV distribution is an estimate, not transaction-level volume at price, order flow or a footprint. No parity with TradingView’s built-in volume profile is claimed.
  • Feed volume, available intrabars, session coverage, corporate actions and futures rollover can change the result. 2-minute source bars on 1-hour and higher charts can move a level by a row.
  • Completed-period and confirmed-bar timing do not establish non-repainting, Replay or reload behavior. Retained bands draw back to their source period only after the result is known.
  • Fine grids can exhaust resource headroom, causing a coarser grid restart that clears retained zones. Available chart history can be insufficient for requested periods, and missing history is not reconstructed.
  • There is no developing Weekly or Monthly profile and no histogram beside the price axis. Labels may move, be omitted or clip with chart zoom and margin.
  • Levels and lifecycle events describe measured context. They do not establish fills, trade outcomes or predictive reliability.

Troubleshooting

Start with what you see on the chart. Each answer explains the likely cause and the first setting, timeframe, or data condition to check.

Why did VPNM stop with an error after the update?

The update removed and reordered inputs, so settings saved on the chart no longer match. Remove VPNM from the chart and add it again, then review the settings.

Why is the map empty?

Check a time-based intraday chart on a symbol with traded volume, then hover the status note. Today is pending until the first confirmed bar of the session, and completed Weekly and Monthly maps need enough loaded history.

Why does changing Daily periods do nothing?

Today (in progress) ignores Daily periods. Select Completed periods to combine several days.

Why is Profile fill flat?

Select Profile in Zone fill, check Fill applies to, and check that Fill source is enabled, ready and covers the band’s prices.

Why did a zone disappear?

Check Range basis and Nearest zones per side, Shared price Only, retention breaks, the Earlier zones kept limit and grid resets. Hidden records can continue updating.

Why are there no alerts?

Alerts start off and apply only to retained zones. Turn on Retained zones and an alert switch, create an Any alert() function call alert, and recreate any alert made before the update.

Risk disclosure

Auction Foundry LLC provides educational charting tools and general market commentary only. This is not investment, financial, legal or tax advice, and nothing here is a recommendation, offer or solicitation to buy or sell any instrument. Auction Foundry is not registered with the SEC as an investment adviser, nor with the CFTC as a commodity trading advisor, and is not an NFA member.

Trading involves risk, including loss of principal. Losses can exceed a modeled stop and, for leveraged or margin products, can exceed the amount initially deposited or invested. Indicators can be wrong, delayed or unsuitable for your circumstances, and past or hypothetical results do not predict future results. Free access does not change any of this. Consider your objectives and consult a licensed professional before acting. Using these tools does not create an advisory or brokerage relationship.

Auction Foundry LLC is an independent publisher and is not affiliated with, endorsed by, or sponsored by TradingView, Inc. “TradingView” is a trademark of TradingView, Inc., used here only to identify the platform our scripts are published on. Scripts are published to TradingView as a community author on the same terms as any other author.

Read the full Risk Disclosure for the dated, versioned document this summarizes.