Section 01

Market Profile &
Volume Profile

Complete reference for FNOTrader's Market Profile application — covering TPO theory, volume profile construction, day-type classification, and how to trade from auction-based context.

ℹ️
Who this is for

This guide assumes no prior profile experience. Whether you are coming from candlestick charts or just adding context to your existing setup, read through in order. Advanced day-type analysis is covered later in the guide.

What is Market Profile?

Market Profile is a charting technique developed by J. Peter Steidlmayer at the Chicago Board of Trade in the 1980s. Instead of plotting price over time like a normal chart, it plots how much time price spent at each price level during the session. The result is a horizontal histogram that shows which prices the market accepted (spent time at) and which prices it rejected (barely touched).

The core idea: markets are two-way auctions. Price moves up until it finds enough sellers, down until it finds enough buyers. Prices where lots of time is spent represent "value" — a temporary agreement between buyers and sellers. Prices visited briefly and rejected represent "excess" — an area the market did not want to trade.

The basic unit is the TPO (Time Price Opportunity). Each 30-minute block of the session is assigned a letter (A, B, C, D...) and that letter is printed at every price touched during that period. Price levels that accumulate many letters form the fat belly of the profile — the value area.

What is Volume Profile?

Volume Profile is a closely related concept that replaces "time" with "traded volume". Instead of counting how many 30-minute brackets visited each price, it sums the actual contract/share volume that transacted at each level. The shape is drawn as a horizontal histogram on the right side of the chart.

Where TPO tells you where the market spent its time, Volume Profile tells you where the market spent its money. Both answer different questions:

  • TPO (time-based): Where is the market comfortable? Where does it keep returning? What is the fair-value estimate?
  • Volume (transaction-based): Where did real money actually change hands? Where are the most defended prices?

The two profiles usually agree. When they disagree — for example, a big volume node at a price that TPO barely touched — it reveals hidden institutional activity (someone transacted heavily in a short window).

MP vs VP — Quick Comparison

DimensionMarket Profile (TPO)Volume Profile
Unit Time (30-min letter) Traded volume (contracts)
What it measures Duration of acceptance Transactional conviction
Display Letters A, B, C... at each price Horizontal bars, width = volume
Ignores How heavy each visit was How long price stayed
Best for Structure, auction context Execution levels, stops
POC meaning Most-visited price (time) Highest-volume price (money)
💡
Use both together

In this application, TPO letters and the volume histogram are drawn for the same day in the same profile. Levels (POC, VAH, VAL) can be computed from either, and looking at both at once gives the most complete picture of the session.

Indian Market Context

The NSE equity & F&O session runs 09:15 to 15:30 IST, divided into 12 thirty-minute TPO brackets:

A 09:15–09:45    B 09:45–10:15    C 10:15–10:45    D 10:45–11:15    E 11:15–11:45    F 11:45–12:15
G 12:15–12:45    H 12:45–13:15    I 13:15–13:45    J 13:45–14:15    K 14:15–14:45    L 14:45–15:15    M 15:15–15:30

Letters A & B together form the Initial Balance (IB) — the first hour of trading. This is the most important reference for the entire session (see Initial Balance). India's shorter trading day produces cleaner, more readable profiles than US markets: most days fit on one screen without scrolling.

A few practical notes:

  • Weekly expiry (Thursday for index options) often produces Trend days with wide IBs and strong directional skew.
  • Monday & post-holiday opens often show gap-driven profiles — previous day levels become critical reference.
  • Budget / RBI policy days typically produce Double Distribution days as the market reprices mid-session.
  • Low-volume afternoon sessions (12:30–14:00) tend to produce the thickest TPO letters as price grinds within established value.

Section 02

📝The TPO Profile

A TPO profile is built letter-by-letter as the session progresses. Every 30 minutes a new letter is issued, and it is printed at every price touched during that bracket.

Letters & Sessions

In our application each TPO bracket has its own color. This lets you see when each price level was traded at a glance:

24,450C← touched only in C (10:15–10:45), session high
24,440B C← 2 brackets
24,430A B C D← IBH (top of first hour)
24,420A B C D E F← 6 brackets (VAH)
24,410A B C D E F G H← POC (most time)
24,400A B E F G H← 6 brackets (VAL)
24,390A B← IBL (bottom of first hour)
24,380A← touched once (session low tail)

Reading the example above, you can tell several things immediately without any technical indicator:

  • The session opened around 24,430 and fell quickly to 24,380 in the first 30 minutes (A letters at both extremes).
  • Price spent the most time at 24,410 — this is the POC, the perceived fair value.
  • The first hour (A+B) defined a range from 24,390 to 24,430 — the IB.
  • The session high was touched only in C bracket and rejected — a single print at the high, indicating strong rejection.

Reading the Profile

There are only three categories of prices in any TPO profile:

Value
Fat
Many letters stacked horizontally. Market accepted these prices. The wider the stack, the more accepted.
Migration
Medium
Moderate letter count. Price passed through on the way to somewhere else.
Excess
Thin
Single print — one letter only. Rejected price. Market refused to stay.

Single prints at extremes are particularly important. They mark the exact price at which the auction reversed. Future visits to a single-print zone tend to fill rapidly — the market has no "memory" there to slow it down.

Common Profile Shapes

The overall shape of a completed profile tells you what kind of day it was and what to expect next session. The four classical shapes:

ShapeDescriptionWhat it means
Bell / D-shape Symmetric, fat middle, thin tails Balanced / rotational day. Buyers and sellers agreed on value. Expect acceptance.
P-shape Fat top, thin bottom tail Short covering at lows, buyers took control mid-day. Mild bullish.
b-shape Fat bottom, thin top tail Long liquidation at highs, sellers took over. Mild bearish.
Elongated / Trend Narrow vertical profile, few repeats Directional auction, one-sided flow. Continuation likely next session.
Double Distribution Two fat clusters with thin middle Market rebalanced mid-session. Upper/lower distribution each acts as its own range.

Section 03

Core Levels

Every profile generates a small set of numerical levels. These are the most-traded prices of your day and they become reference points for every subsequent session. The chart renders them as dashed horizontal lines labeled on the left.

POC — Point of Control

The POC is the single price level with the most activity. For TPO it is the price with the most letters; for volume it is the price with the greatest traded volume. The chart shows it as a solid horizontal line colored in amber/yellow.

Interpretation:

  • POC = fair value: the price both sides agreed on for the longest time. It is a magnet.
  • POC migration: if today's POC is higher than yesterday's, buyers have repriced value up (bullish). If lower, sellers have repriced value down (bearish).
  • POC rejection: when price rallies away from POC and fails to return, the old POC becomes support (or resistance if prices fell). When price does return, POC typically holds on the first touch.
  • Naked / virgin POC: a POC from a previous day that has not yet been retested. These act as strong magnets and are high-probability targets.

Value Area (VAH / VAL)

The Value Area contains the prices at which 70% of the session's activity occurred. The top of this range is VAH (Value Area High), the bottom is VAL (Value Area Low). The 70% is a statistical convention — roughly one standard deviation — but it is effective because it captures "most" of the day while excluding the noisy extremes.

📊
How VA is computed

Starting from the POC, add the next most-populated price level (above or below), then the next, and keep going until the accumulated TPO / volume count reaches 70% of the total. The highest price added is VAH, the lowest is VAL. Both are calculated independently for TPO and volume in this chart.

Trading implications of value area:

  • Inside VA = balanced / mean-reverting. Fades from VAH back to POC and POC back to VAL often work.
  • Outside VA = range extension. The auction has moved beyond what both sides previously agreed on. Breakouts have conviction; failed breakouts (back inside VA) are reversal signals.
  • 80% rule: if price opens outside the prior day's value area but returns inside it and prints two consecutive 30-min brackets, there is a high probability (~80% historically) that price will traverse the entire VA to the opposite side.
  • VA migration: a VA that migrates up or down day-over-day confirms trend. A VA that overlaps heavily indicates balance.

Initial Balance (IB)

The Initial Balance is the range established in the first hour of trading — A + B brackets (09:15–10:15 IST). IBH is the high of that range, IBL is the low. This hour is when overnight positions are sorted out and institutional players establish their opening positioning, so the IB range carries outsized importance for the rest of the day.

The key questions about IB:

  • How wide is it? Narrow IBs tend to break (range expansion coming). Wide IBs tend to hold (day already defined).
  • Is IB broken on one side only? That side is in control.
  • Is IB broken on both sides? Whipsaw / balanced day. Neither side sustained.
  • Is IB never broken? Full inside-day / compression. Expect breakout next session.

IB Extensions (1x, 1.5x, 2x)

Once IB is broken, the range is projected outward in multiples to forecast where the day could extend. These extensions are drawn as horizontal lines on both sides of the IB range:

LevelCalculationTypical behaviour
1x Up IBH + IB range First profit target on upside break. Often reached on Normal Variation days.
1.5x Up IBH + 1.5·IB range Typical limit of a strong directional day. Rotation / exhaustion zone.
2x Up IBH + 2·IB range Trend day extreme. Reached only on strong one-way sessions.
1x Dn IBL − IB range First profit target on downside break.
1.5x Dn IBL − 1.5·IB range Strong bearish extension zone.
2x Dn IBL − 2·IB range Trend day extreme downside.
🎯
Practical rule of thumb

On most days, 1x extension is where the move pauses and either reverses or consolidates before attempting 1.5x. Use 1x as your first scaled exit target on breakout trades. If price stalls well before reaching 1x, the breakout is weak and a reversion to VA is likely.

VWAP — Volume Weighted Average Price

VWAP is the intraday average price weighted by volume. It answers: "What is the true average price everyone who traded today paid?" The chart can overlay VWAP as an optional line (toggle VWAP button in the toolbar).

  • Price above VWAP → day buyers are in profit on average. Bullish control.
  • Price below VWAP → day sellers are in profit on average. Bearish control.
  • VWAP and POC are often close but not identical. POC is the most-traded single price; VWAP is the volume-weighted mean of all prices. POC is discrete, VWAP is continuous.
  • VWAP is a common institutional benchmark — many algorithms trade against it.

Section 04

📈Day Type Classification

Every session falls into one of a few classical day types. Knowing what kind of day you are in tells you what to expect from the remainder of the session: whether to fade extremes or ride breakouts, whether levels will hold or fail. The Profile Stats panel shows the day type for each day as a colored pill.

Trend Day Trend

Trigger: Day range > 2.5 × IB range. The session extends far beyond the first hour's range, with price moving decisively in one direction.

Characteristics:

  • Narrow IB broken early and decisively, never retested.
  • Profile is elongated and thin — few letter repeats, no fat belly.
  • IB 1.5x or 2x extension reached.
  • VWAP slopes sharply in the trend direction; price never closes on the wrong side.
  • Close near the session extreme.

How to trade: Join the trend on pullbacks to VWAP or previous IB extension levels. Do not fade extremes — trend days do not reverse intraday. Mean-reversion strategies lose money on these days.

Normal & Normal Variation Days

Normal Day Normal trigger: Day range < 1.5 × IB range. The first hour defined the day; nothing meaningful happened outside of IB.

  • Profile is a classic D-shape / bell.
  • Price rotates inside IB or makes mild extensions that fail back.
  • POC sits near mid-IB.

Normal Variation Day Normal Var.: Day range extended beyond IB but less than 2.5×. One side broke out, reached 1x extension, and found acceptance there. Classic rotational-with-extension.

How to trade: Fade IB extremes back to POC. Take profits at IB high/low. If price holds at 1x extension, look for continuation; if it fails back into IB, play reversal.

Double Distribution Day Double Dist.

Trigger: TPO count in the middle third of prices is less than 30% of the total top + bottom third count. Visually, the profile has two fat clusters separated by a thin waist.

What causes it: The market accepted one range, then news or a large flow forced a rebalance to a new range. Both ranges represent genuine value.

Characteristics:

  • Profile visually looks like an "hourglass" or "peanut" — two distributions.
  • Each cluster has its own mini-POC.
  • The thin waist is where price moved fast with little participation — future visits fill fast.
  • Common on policy days, earnings days, global-spike days.

How to trade: Treat each distribution as an independent range. The thin waist becomes a magnet: visits often see quick rejection back to the originating cluster. Trading back toward the opposite cluster requires the thin waist to be consumed first.

IB Classification (Narrow / Medium / Wide)

The Profile Stats panel classifies the IB relative to the 14-day ATR so you know whether your IB is unusually compressed or stretched:

ClassThresholdImplication
Narrow IB < 33% of ATR Compressed opening. Expect range expansion — breakout likely. Often precedes Trend days.
Medium 33% – 66% of ATR Typical opening. Day could go either way — watch for IB break direction.
Wide IB > 66% of ATR Full range established in the first hour. IB likely holds; rotational day expected.
⚠️
Narrow IB is the setup, not the signal

A narrow IB only tells you that compression is high and a break is likely. It does not tell you which direction. Wait for the actual IB break with volume confirmation before taking a directional trade.


Section 05

⚙️UI Guide

Toolbar Reference

Every toolbar control is toggle-based: click to turn on/off. Active controls show a highlighted state.

ControlFunction
TFTimeframe for underlying candles: 5m / 15m / 30m. TPO bracket length is fixed at 30 minutes regardless of this setting.
TickAuto — tick size derived from instrument. Manual — override with custom tick (the number field next to it). Finer ticks = more granular profile but slower rendering.
SearchFuzzy symbol lookup. Start typing to see matches with lot size. Click a result to switch.
CandlesToggle the underlying OHLC candles on/off. Turning off gives a pure TPO / VP view.
TPOToggle the TPO letters on the profile.
VPToggle the volume histogram on the profile.
POCToggle the POC horizontal line (amber).
VAHToggle the Value Area High horizontal line (blue dashed).
VALToggle the Value Area Low horizontal line (blue dashed).
IBToggle the Initial Balance range and 1x / 1.5x / 2x extensions (orange / green / red lines).
VWAPToggle the session VWAP overlay.
ExpandWhen on, profiles are drawn wide so letters are easily readable. When off, profiles are compressed to fit more history on screen.
Up / DnColor pickers for bullish and bearish candles.
BrightBrightness slider (10–100%). Controls opacity of TPO letters and VP bars. Higher = bolder; lower = more transparent for overlay reading.
DailyEach trading day gets its own profile.
WeeklyAll days in a week merge into one composite profile (Mon–Fri).
+5 DaysLoad an additional 5 days of history. The counter next to it shows how many days are currently loaded.
ThemesDark — pure dark. Blue — dark blue (default). Light — light theme for bright environments.

Profile Stats Panel

The right-side panel shows a per-day summary for every profile on the chart, newest day first. Each row contains:

  • Date — DD/MM of the session
  • Day type pill — Trend / Normal Var. / Double Dist. / Normal (colored)
  • IB Range — high minus low of first hour (points)
  • IB Type — Narrow / Medium / Wide (colored)
  • Day Range — session high minus session low
  • POC / VAH / VAL — the value area triplet (volume-based)
  • IBH / IBL — top and bottom of the first hour
  • Sessions — number of 30-min TPO brackets completed

The newest day is highlighted. Scroll the panel to review older days. Use this table to compare POC migration, IB ranges, and day types across sessions — extremely useful for gap analysis and continuation planning.

Insights Panel

Below the Profile Stats, the Insights section streams real-time bias updates:

  • Bias label: Bullish / Bearish / Neutral
  • Confidence bar: 0–100% — how strong the signal is
  • Score: positive = bullish weight, negative = bearish
  • Tags: top contributing signals (e.g. "POC migration up", "IB break +1x", "VA overlap")
  • History: last 50 insight updates, oldest at the bottom

Insights only update during market hours (09:15–15:30 IST) and are published by the backend in response to new TPO brackets completing and volume acceptance events.

Themes & Colors

Three themes are available: Dark (pure), Blue (default, dark blue panels), and Light (high-contrast light for presentations / bright rooms). Theme preference persists across sessions.

The Up / Dn color pickers control the candle body colors independently. A common setup is teal / red (default) but some traders prefer green / red or blue / orange for color-blind accessibility.

The brightness slider is especially useful when stacking the chart with other overlays — reduce it to 30–40% so that TPO letters become a background layer without obscuring price action.


Section 06

📈Reading the Profile for Trades

A profile is not a signal generator — it is a context generator. Your job is to identify what kind of day is developing, where value is, and where price is relative to it. The setups below are classical Market Profile plays.

▲ Bullish Setups
  • Open above prior VAH that holds — buyers have repriced value higher overnight. First pullback to prior VAH is a buy.
  • IB break up on a Narrow IB with volume — target 1x up, trail to 1.5x.
  • POC migration up day over day — confirms buyer control. Fade pullbacks to prior POC.
  • Open inside prior VA, rally to VAH, hold — acceptance above balance; trade to 1x IB extension.
  • Single prints at session low tail — aggressive rejection of the low, do not expect a retest.
  • 80% rule long: open below prior VA, two brackets accept back inside, play to opposite side (prior VAH).
▼ Bearish Setups
  • Open below prior VAL that holds — sellers have repriced value lower. First pullback to prior VAL is a short.
  • IB break down on a Narrow IB with volume — target 1x down, trail to 1.5x.
  • POC migration down day over day — confirms seller control. Fade rallies to prior POC.
  • Open inside prior VA, decline to VAL, hold — acceptance below balance; trade to 1x IB extension down.
  • Single prints at session high tail — aggressive rejection of the high, do not expect a retest.
  • 80% rule short: open above prior VA, two brackets accept back inside, play to opposite side (prior VAL).

Range Rotation (Balanced Days)

On balanced / Normal days, the auction rotates within established value. The highest-probability trades are fades from the extremes back to POC:

  1. Identify value — POC, VAH, VAL clearly visible after brackets C or D (around 10:45–11:15).
  2. Wait for a touch of VAH or VAL. If price reaches VAH and stalls (no immediate breakout), set up a short.
  3. Confirm with a rejection bar on the underlying candle — a wick or doji at the level.
  4. Target POC as first target. Second target is the opposite VA boundary.
  5. Stop just outside the VA boundary you are fading, typically 0.25–0.5 × IB range away.

Range Extension (Trend Setup)

On Narrow-IB, Trend-day setups, rotational trades fail. Look instead for breakout continuation:

  1. Confirm IB is Narrow (Profile Stats panel shows red / "Narrow" pill).
  2. Watch for IBH or IBL break with strong directional volume (volume bars tall, candle closes beyond IB).
  3. First pullback does not re-enter IB — this is your entry confirmation. A pullback into IB invalidates the breakout.
  4. First target = 1x extension. Take off partial, trail the rest.
  5. Second target = 1.5x extension. Exit remainder if reached. 2x is a bonus.
  6. Stop just inside the IB range you broke through — failure to hold = failed breakout = exit.
📝
Example — NIFTY Trend Day

NIFTY opens at 24,500 with IB of 24,490–24,520 (30 pts — Narrow, ATR = 120). C-bracket closes at 24,525 above IBH. D-bracket pulls back but holds 24,520. E & F brackets extend to 24,550 = 1x up. Take partial. G & H extend to 24,570 = 1.5x — exit majority. Day type posts as Trend by session close. VWAP slope stayed positive throughout.


Section 07

Tips & Best Practices

🎯
1. Start with the day type, then the setup

Before placing any trade, glance at the Profile Stats panel and answer one question: is this a Trend day, a Normal day, or a Double Distribution? The correct strategy is completely different in each case. A fade that wins 70% on Normal days loses 100% on Trend days.

🎯
2. Use prior-day levels as your roadmap

Prior-day POC, VAH, VAL, IBH, IBL are more predictive than any intraday level. The first 30 minutes of a new session are almost always a reaction to one of these. Mark them mentally before the open.

🎯
3. Narrow IB = setup, not direction

A compressed IB tells you a break is coming but not which way. Do not front-run. Let the break happen with volume, then enter on the first pullback that does not re-enter IB.

🎯
4. Single prints are memory of rejection

When price revisits a single-print zone from a previous day, it fills very quickly because there is no "value" to slow it down. Do not place stops just inside single prints — they will be swept.

🎯
5. POC is a magnet, not a wall

Price wants to return to POC but it is not a hard level. Use POC as a target, not a stop reference. Stops belong outside structural extremes (IB edges, single-print zones, prior day VA boundaries).

🎯
6. Weekly profile for multi-day context

Toggle Weekly mode once a day to see the aggregate profile for the current week. This shows multi-day POC migration, the weekly value area, and whether the current week is trending or balancing — essential for holding overnight positions.

🎯
7. Combine with Footprint for execution

Market Profile tells you where the trade is (the context level), Footprint tells you when to pull the trigger (the absorption / exhaustion at that level). MP gives you the 30-min structural view; Footprint gives you the tick-level confirmation. They are complementary, not competing. Switch between the two with the header link.

⚠️
Common mistakes to avoid
  • Fading extremes on a Trend day — the profile shape will tell you it is a trend before lunch.
  • Using VAH / VAL as stops — they are targets and pivots, not protection. Put stops past structural extremes.
  • Ignoring the previous day when a gap opens — the prior day's value area is where price usually settles.
  • Trading the first 15 minutes of IB — too chaotic, let A-bracket complete before acting.
  • Mistaking a wide IB for strength — wide IBs usually contain the day. Narrow IBs produce big moves.