Order Flow &
Footprint Charts
Complete reference for FNOTrader's Footprint Chart application — covering every concept, indicator, and UI element from first principles to advanced order flow analysis.
This guide assumes no prior order flow experience. Whether you are switching from traditional candlestick charts or just getting started, read through in order. Advanced sections are clearly marked.
What is Order Flow Trading?
Traditional OHLC candlestick charts summarize price action in four numbers — Open, High, Low, Close. They tell you what happened to price, but not why. Two candles can look identical yet represent completely different market conditions.
Order flow trading examines the raw transactional data behind every candle: who was buying, who was selling, at exactly which price, and in what quantity. This is the raw exchange tape — every single trade executed in the market, captured tick by tick.
The core idea is distinguishing aggressive from passive participants:
- Aggressive buyers lift the ask — they hit the market and accept whatever the seller is offering. This is buy volume.
- Aggressive sellers hit the bid — they accept whatever the buyer is offering. This is sell volume.
- Passive participants are market makers and limit order traders sitting on both sides of the book, waiting to be filled.
When aggressive buyers dominate a price level, it suggests real demand. When aggressive sellers overwhelm buyers, supply is in control. Footprint charts make this visible.
Why Footprint Charts Matter
A footprint chart is a candlestick that shows you the order flow inside every bar. Instead of just OHLC, you see the buy volume and sell volume at every single price tick within the candle. This lets you answer questions that are invisible on a regular chart:
- Was a breakout accompanied by real aggression, or just thin air?
- Is a bounce at support being bought, or is it just a stop-hunt?
- Are institutions defending a level, or walking away?
- Which direction are the largest trades hitting?
Two green candles. On a regular chart they look identical. On the footprint: candle A shows 800 buy × 200 sell at the high — strong conviction. Candle B shows 150 buy × 900 sell at the same high — sellers absorbed the move. Candle B is likely to reverse. You cannot see this on a standard chart.
Indian Market Context
FNOTrader is built specifically for NSE futures. A few reference numbers — note that lot sizes are periodically revised by NSE based on price movements:
NSE periodically revises lot sizes for indices and stocks based on price levels and liquidity — for example, NIFTY was revised from 50 to 75 contracts per lot. The charts always use the correct current lot size configured by the system, so every Buy, Sell, Delta, CVD, and COT number you see on the chart is already expressed in contracts (lots) — not raw tick volume. This makes it far easier to quickly gauge how many lots were traded at each price level without doing the math yourself.
VWAP and CVD are session-based — they reset at 9:15 IST each trading day. COT High / Low also recalculate from the new session's price range. All times shown in the app are IST.
The Footprint Candle
Anatomy of a Footprint Bar
Every footprint bar contains all of the information from a regular OHLC candle, plus the volume breakdown at every price tick. Each row shows two numbers separated by ×:
Market sell orders executed at the bid price.
Market buy orders executed at the ask price.
Ask[320]=312 ≥ 2× Bid[325]=55
Bid[300]=289 ≥ 2× Ask[305]=67
How Imbalances Are Read — Diagonally
Imbalances are not compared on the same row. They are compared diagonally — one column of a row against the opposite column of the adjacent row:
Sell imbalance → Bid(left) at row X ≥ threshold × Ask(right) at row X−1 (one tick below).
Reading the Numbers
Each row inside the candle corresponds to one price tick (0.05 points on NSE). The format is always:
BID (Sell) × ASK (Buy)
↑ left ↑ right
aggressive aggressive
sellers buyers
- Large Ask (right), small Bid (left): aggressive buyers dominating that tick. Strong demand — price is being lifted.
- Large Bid (left), small Ask (right): aggressive sellers dominating. Strong supply — price is being pushed down.
- Both large: high two-sided activity — a contested, high-value level. Frequently becomes support or resistance.
- Both small: thin trading — price passed through quickly with no real interest.
Candle Color Logic
The overall candle color follows standard OHLC rules — it does not reflect delta:
- Green candle: Close > Open (price moved up during the bar)
- Red candle: Close < Open (price moved down during the bar)
A green candle can have negative delta (sellers were more aggressive even though price closed up). This is called bearish delta divergence and is a warning sign. Always cross-check candle color with delta. See the Delta Divergence section for details.
Chart Views
The footprint chart supports multiple display modes. Switch between them using the view controls at the top of the chart. Each mode reveals a different dimension of the same underlying data.
Each price level shows Bid × Ask (Sell × Buy) — the raw volume on each side of the market. This is the core view for reading order flow at a granular level.
Best for: identifying imbalances, absorption, reading who is aggressive at each level.
Instead of showing Bid × Ask separately, each level shows the net delta — Ask minus Bid (Buy − Sell). Positive = buyers won at that level; negative = sellers won. Color coded green/red.
Best for: quickly spotting which price levels had dominant buying or selling without scanning two numbers.
Delta at each price level is shown as a horizontal bar — longer bar = stronger net imbalance. Green bars grow rightward (net buying), red bars grow leftward (net selling). Provides an instant visual profile of where buyers and sellers were dominant.
Best for: at-a-glance reading of the order flow distribution within a bar, similar to a market profile but for delta.
Shows the totals for the entire bar rather than per-level breakdown: total Buy, total Sell, net Delta, Volume, OI change — displayed as a clean summary overlay on the candle. No per-tick numbers — just the big picture.
Best for: scanning multiple bars quickly for overall sentiment without needing to read individual levels.
Start with Buy/Sell view to learn order flow — it shows everything. Once you're comfortable, switch to Delta view when you want to quickly gauge bar sentiment. Use Delta Bar for a visual profile of where the action was concentrated. Use BarStats when scanning many candles for session-level bias.
Key Metrics — Stats Panel
The stats panel shows data for the currently selected bar (click any candle) or the most recent live bar. Here is every field explained.
CVD — Cumulative Volume Delta
CVD is the running total of delta (buy minus sell) accumulated from the session open (9:15 IST). It answers: over the entire session so far, are buyers or sellers in control?
- Rising CVD: aggressive buyers are consistently winning bars. Bullish context.
- Falling CVD: aggressive sellers dominating. Bearish context.
- Flat CVD: balanced two-sided flow — no clear directional bias from order flow alone.
When price makes a new high but CVD is declining, aggressive buyers are not confirming the move — a red flag for longs. When price makes a new low but CVD is rising, sellers may be running out of aggression — a potential buying opportunity.
Δ Delta — Bar Delta
Delta for the current bar only: Total Buy Volume − Total Sell Volume. Resets on every new candle.
- Positive delta (+): buyers were more aggressive in this bar.
- Negative delta (−): sellers were more aggressive in this bar.
The magnitude matters — a delta of +2,500 on NIFTY represents 2,500 contracts where buyers were the aggressor, which is significant institutional activity.
Buy Vol & Sell Vol
Raw totals for the bar:
- Buy Vol: sum of all market buy orders (trades executed at the ask) across all price ticks in the bar
- Sell Vol: sum of all market sell orders (trades executed at the bid) across all ticks
These combine to give you total volume: Buy Vol + Sell Vol = Total Vol. The ratio reveals directional aggression even before you look at the chart.
OI — Open Interest
Open Interest is the count of outstanding futures contracts that have not been settled or closed. Unlike volume, OI is cumulative across the trading day and persists between sessions (until expiry).
OI alone tells you nothing — it's the combination of price direction and OI change that matters:
| Price | OI | Interpretation | Color | Meaning |
|---|---|---|---|---|
| ↑ Up | ↑ Up | Long Buildup | Teal | New buyers entering the market — bullish |
| ↓ Down | ↑ Up | Short Buildup | Red | New sellers entering — bearish continuation |
| ↑ Up | ↓ Down | Short Covering | Green | Existing shorts closing — rally may be temporary |
| ↓ Down | ↓ Down | Long Unwinding | Orange | Existing longs exiting — bearish signal |
A price rally on Short Covering (OI declining) means short sellers are panic-buying to close positions — not new buyers entering. This rally is often weaker and more likely to stall. Prefer rallies on Long Buildup (OI rising) for sustainable moves.
CH / CL — COT High & COT Low
COT stands for Commitment Of Traders in the context of footprint analysis (not the government report). CH and CL measure the cumulative delta that has built up since the session high and session low were formed. They are among the most powerful concepts in order flow.
COT High (CH)
The sum of all bar deltas from the moment the session high was printed up to the current bar.
- CH positive: buyers are still net aggressive since the high was made. The market is not rejecting the high — it could continue upward.
- CH negative: sellers have dominated since the high was printed. The high is being rejected. Bearish.
- CH negative but getting smaller in magnitude: even though sellers have net dominated since the high, their aggression is fading — limit-order buyers are absorbing the selling at the high. This is a very bullish signal indicating potential breakout through the high.
COT Low (CL)
The sum of all bar deltas from the moment the session low was printed up to the current bar.
- CL positive: buyers have been net aggressive since the low was made. The low is being bought — bullish.
- CL negative: sellers are still more aggressive even at the session low — bearish continuation expected.
- CL negative but decreasing in magnitude: selling pressure is fading at the low. Passive buyers are absorbing the aggression — potential bounce or reversal.
NIFTY pushes up to 24,400 (session high). Ten bars later, price is back at 24,400. Check CH: if CH = −1,800, sellers have aggressively hit the bid for a net of 1,800 contracts since the high was made. Fading the retest with a stop above 24,410 is a high-probability trade with order flow confirmation.
Indicators
POC — Point of Control
The POC is the single price level with the most volume traded within a given bar. It is displayed as an amber dot or horizontal tick mark across the candle.
Why it matters: Markets tend to return to high-volume nodes. The POC represents the price where the most two-sided agreement occurred — the "fairest" price in the bar. If price moves away from POC, there is an unresolved pull to return to it (called the "POC magnet effect").
- Price far above POC: buyers have pushed price away from value. Watch for mean reversion back to POC on quieter bars.
- Price at POC: balanced — neither side has an edge at this moment.
- Strong breakout: when price moves through POC on aggressive delta and does NOT return — the new directional move is being accepted as value.
When entering a reversal trade, the POC of the prior bar is often a logical first target. Price has a statistical tendency to revisit high-volume areas, especially in range-bound sessions.
VWAP — Volume Weighted Average Price
VWAP is the average price a security has traded at throughout the day, weighted by volume. It resets at session open (9:15 IST). On the chart it appears as a purple dashed line.
Formula: VWAP = Σ(Price × Volume) / Σ(Volume)
VWAP is the most widely used institutional execution benchmark. Large funds slice orders around VWAP to minimize market impact. This creates self-fulfilling behavior: price tends to rotate around VWAP throughout the session.
- Price above VWAP: bullish bias. Buyers are in control on a volume-weighted basis. Favor long setups.
- Price below VWAP: bearish bias. Sellers are in control. Favor short setups.
- VWAP reclaim: when price dips below VWAP then quickly reclaims it with positive delta — strong bullish signal. The inverse applies for a failed VWAP reclaim.
Never use VWAP alone as an entry trigger. Use it to filter which direction of trades to take. On a day where NIFTY is consistently below VWAP, even strong-looking long setups on the footprint should be avoided or sized conservatively.
Imbalance
An imbalance occurs when the volume on one side of the market is significantly larger than the opposing side at an adjacent price level. The threshold (default 2×) is configurable in the toolbar.
Buy Imbalance — Diagonal Rule
Ask (right / buy) volume at level N is ≥ (threshold × Bid (left / sell) volume at level N+1, one tick above). The comparison is diagonal — you look at the Ask column of one row and compare it to the Bid column of the row above. Green highlight.
Buy Imbalance — diagonal condition:
Ask[N] ≥ threshold × Bid[N + 1 tick]
Example:
24,325 │ 55 × 186 │ ← Bid[24325] = 55
24,320 │ 41 × 312 │✦ ← Ask[24320] = 312
312 ≥ 2 × 55 → BUY IMBALANCE at 24,320 ✓
Sell Imbalance — Diagonal Rule
Bid (left / sell) volume at level N is ≥ (threshold × Ask (right / buy) volume at level N−1, one tick below). Red highlight.
Sell Imbalance — diagonal condition:
Bid[N] ≥ threshold × Ask[N − 1 tick]
Example:
24,300 │ 289 × 31 │✦ ← Bid[24300] = 289
24,295 │ 72 × 28 │ ← Ask[24295] = 28
289 ≥ 2 × 28 → SELL IMBALANCE at 24,300 ✓
Stacked Imbalances
When 3 or more consecutive price ticks all show an imbalance in the same direction, it is called a stacked imbalance. This is one of the most important signals in order flow trading.
Four consecutive buy imbalances at 24,320–24,330 form a stacked zone.
The app highlights these rows and extends a green band to the right edge of the chart — marking the zone so you can visually track it as new candles form.
When price later returns to this zone, watch for:
- Positive delta on the revisit candle
- Aggressive Ask (buy) volume stepping in
- Low Bid (sell) volume — sellers not interested
Why stacked imbalances matter:
- They reveal one-sided order flow. When 4 consecutive price ticks all show buyers massively overwhelming sellers, that's not noise — that's a large participant aggressively accumulating a position.
- They create unfinished business. The buyers who lifted the ask at 24,320–24,330 got filled. If price later drops back to that zone, those same participants have a cost basis there. They will likely defend it with limit orders, creating natural support.
- The zone stays highlighted. The app extends a translucent band from the stacked imbalance to the right edge of the chart until price cuts through the zone — giving you a live visual reminder of the unfinished order flow.
- Stacked sell imbalances work exactly the same in reverse — they mark institutional selling zones that tend to act as future resistance when price returns.
NIFTY creates a stacked buy imbalance at 24,320–24,335 during a 10:30 AM bar. Price rallies to 24,420. At 12:15 PM, price pulls back to 24,325. On the footprint at 24,325: Ask volume is stepping in (positive delta), Bid volume is light (sellers not pressing). COT Low is turning positive. This is a textbook order flow buy — enter with a tight stop below 24,305 (below the stacked zone), target prior high.
If price returns to a stacked buy imbalance zone and cuts through it with heavy Bid (sell) volume and negative delta, the zone has failed. The original buyers have been stopped out or are defending elsewhere. Do not fade this move — trade in the direction of the break.
COT High/Low — Detailed Interpretation
When COT labels are enabled (toolbar → COT toggle), values appear above and below each candle. Here is a full interpretation matrix:
| Metric | Value | What it means | Trade bias |
|---|---|---|---|
| CH (COT High) | Positive & rising | Buyers pushing beyond the old high — continuation | Long |
| CH | Negative & deepening | Strong rejection at the high — sellers in control | Short at high |
| CH | Negative, magnitude shrinking | Selling is being absorbed — potential breakout above high | Aggressive long |
| CL (COT Low) | Positive & rising | Buyers firmly defending the low — bounce/trend reversal | Long above low |
| CL | Negative & deepening | Sellers still dominant even at session low — breakdown | Short |
| CL | Negative, magnitude shrinking | Selling drying up at low — potential bottom | Watch for reversal |
Signals — 6 Footprint Extreme Patterns
The Signals toggle automatically detects and marks six distinct order flow patterns at candle highs and lows, plus two delta divergence signals. Each signal name describes what is happening to the order flow:
- Absorption — passive limit orders on one side absorbed the aggressive flow from the other side. Both sides traded, but in a lopsided ratio. Price couldn't move because someone was defending the level with limit orders.
- Exhaustion — the aggressive side found zero counterparty at the extreme level (no one to trade against), or pushed hard across the whole bar but price still closed against them. They simply ran out of steam.
- Tail — the extreme level shows only one side. Zero volume on the other side. The most extreme form of rejection or support.
- DIV — the candle's close direction contradicts its delta direction. Volume said one thing, price said another — one side is losing despite high participation.
📊 Display format reminder: footprint cells show BID × ASK (left = aggressive sellers hitting bid, right = aggressive buyers lifting ask). All thresholds are relative to bar volume — the same logic applies to NIFTY, BankNifty, or any other instrument.
▼ At Candle Highs — Bearish Signals
Both Bid & Ask traded at the high, but Ask ≥ 2.0× Bid with meaningful volume (≥2% of bar). Aggressive buyers are dominating the level — yet price failed to go higher. Passive sell limit orders absorbed all that buying. Requires a wick ≥ 2 ticks confirming the high was tested and rejected. Bearish.
Ask ≥ 2.0× Bid, level vol ≥ 2% bar vol, wick ✓
Fires on either of two conditions — both require a wick ≥ 2 ticks at the high:
① Bar-narrative: Bar delta ≥ 10% of bar volume (buyers pushed hard across the bar) but price closed in the lower half of the range — buyers failed to hold the move.
② Level-narrative: Bid = 0 at the high with Ask present — buyers pushed to the high but found zero aggressive sellers. Counterparty vacuum: they exhausted themselves with no one to transact against. Bearish.
② Level: HIGH │ 0 × 487 + wick ✓
Ask = 0, Bid > 0 at the high + wick ≥ 2 ticks. Zero aggressive buyers at the extreme high — only sellers printed there. The market touched that price but literally no one was willing to buy. The wick is a "tail" of only sellers, the hardest possible rejection. Most bearish of the three.
Ask = 0, Bid ≥ 1% bar vol ✓
▲ At Candle Lows — Bullish Signals
Both Bid & Ask traded at the low, but Bid ≥ 2.0× Ask with meaningful volume (≥2% of bar). Aggressive sellers are dominating the level — yet price failed to go lower. Passive buy limit orders absorbed all that selling. Requires a wick ≥ 2 ticks confirming the low was tested and held. Bullish.
Bid ≥ 2.0× Ask, level vol ≥ 2% bar vol, wick ✓
Fires on either of two conditions — both require a wick ≥ 2 ticks at the low:
① Bar-narrative: Bar delta ≤ −10% of bar volume (sellers pushed hard across the bar) but price closed in the upper half of the range — sellers failed to hold the move down.
② Level-narrative: Ask = 0 at the low with Bid present — sellers pushed to the low but found zero aggressive buyers. Counterparty vacuum: they exhausted themselves with no one to transact against. Bullish.
② Level: LOW │ 312 × 0 + wick ✓
Bid = 0, Ask > 0 at the low + wick ≥ 2 ticks. Zero aggressive sellers at the extreme low — only buyers printed there. The market touched that price but literally no one was willing to sell. The wick is a "tail" of only buyers, the hardest possible support. Most bullish of the three.
Bid = 0, Ask ≥ 1% bar vol ✓
Bar-Level — Delta Divergence
Bearish Delta Divergence — Candle closed negative (bearish close, close < open) but bar delta is positive (buyers dominated the volume). Buyers put in all the effort but price still closed down — buyers are losing despite high participation. Marked above the candle high. Badge fires per candle independently — no comparison to the previous candle needed.
Bullish Delta Divergence — Candle closed positive (bullish close, close > open) but bar delta is negative (sellers dominated the volume). Sellers put in all the effort but price still closed up — sellers are losing despite high participation. Marked below the candle low. Badge fires per candle independently — no comparison to the previous candle needed.
Signal priority chain at HIGH — only one fires per candle high (mirror applies at LOW):
Every signal draws a solid labelled badge centred above the candle high (for bearish signals) or centred below the candle low (for bullish signals), so it is immediately visible without obscuring price action. A dashed colored band extends forward to the right from that level until a subsequent candle's price breaks through it. When price returns to an active band, that is your signal confirmation zone.
NIFTY at 11:20 AM pushes to session high at 24,410. The footprint shows:
• ST — Ask=0, Bid=43 at 24,410 (zero buyers at extreme high, only sellers — most extreme rejection)
• ▼DIV — candle closed bearish (close < open), delta = +180 (buyers threw volume in but price closed down — buyers losing)
• CH = −340 — COT High deeply negative (institutional sellers active at session high)
• CVD falling — cumulative volume delta declining
Four independent signals at the same price. ST + ▼DIV stack (ST at ±28px, ▼DIV at ±48px above). Enter short on candle close, stop above 24,415, target VWAP.
| Signal | Badge | At | Condition | Meaning | Bias |
|---|---|---|---|---|---|
| Buying Absorption | ABS | High | Ask ≥ 2.0× Bid, vol ≥2% bar, wick ≥ 2 ticks | Passive sell limits absorbed aggressive buyers — buying rejected at high | Short |
| Buying Exhaustion | EXH | High | ① Bid=0 + Ask present + wick ② +delta≥10% barVol + close≤mid + wick | Buyers exhausted at high — no counterparty (vacuum) or failed to hold the move | Short |
| Selling Tail | ST | High | Ask=0, Bid ≥ 1% bar vol, wick ≥ 2 ticks | Zero buyers at extreme high — uncontested rejection. Most bearish. | Short |
| Selling Absorption | ABS | Low | Bid ≥ 2.0× Ask, vol ≥2% bar, wick ≥ 2 ticks | Passive buy limits absorbed aggressive sellers — selling held at low | Long |
| Selling Exhaustion | EXH | Low | ① Ask=0 + Bid present + wick ② −delta≥10% barVol + close≥mid + wick | Sellers exhausted at low — no counterparty (vacuum) or failed to hold the move | Long |
| Buying Tail | BT | Low | Bid=0, Ask ≥ 1% bar vol, wick ≥ 2 ticks | Zero sellers at extreme low — uncontested support. Most bullish. | Long |
| Bearish Divergence | ▼DIV | High | Bearish close (close < open) + delta > +5% barVol | Buyers dominated volume but price closed down — buyers are losing | Short |
| Bullish Divergence | ▲DIV | Low | Bullish close (close > open) + delta < −5% barVol | Sellers dominated volume but price closed up — sellers are losing | Long |
An EXH or ST badge does not mean "short immediately." It means a high-quality setup is forming at a specific price level. Always confirm with: overall market bias (VWAP position, CVD direction), proximity to a key level (session high/low, PDH/PDL, pivot), and a defined stop placement. Signals in the middle of a strong trend have significantly lower reliability than those at key structural extremes.
UI Elements Guide
Toolbar Reference
The toolbar runs along the top of the chart. Each control is explained below:
| Control | Type | Description |
|---|---|---|
Tick |
Auto / Manual | Tick size grouping. Auto detects the tick size from incoming market data. Manual lets you set a custom grouping (e.g., 5 = group every 5 points) for cleaner, less noisy footprint cells. Larger tick size = fewer rows per candle = easier to read. Smaller = more granular. |
5m ▾ |
Dropdown | Timeframe selector. Choose the bar duration: 1m, 3m, 5m, 15m, 30m, 1h, 2h. Each bar aggregates all trades in that time window into a single footprint candle. Shorter timeframes show more bars but each with less volume. |
ATR 33.2 → 5 |
Display | Average True Range. Format is value → lookback. Tells you current volatility in points. Use to gauge stop distances — a 33-point ATR means each bar is moving ~33 points on average. The lookback (5) is how many bars the ATR is calculated over. |
Imbalance ◉ 2 |
Toggle + Number | Imbalance highlighting. Toggle enables/disables the color highlight on imbalanced cells. The number (e.g., 2) is the ratio threshold — raise it to 3 or 4 to see only the most extreme imbalances. |
POC ◉ |
Toggle | Point of Control. Shows/hides the amber POC indicator on each candle. |
VWAP ◉ |
Toggle | VWAP line. Shows/hides the purple session VWAP. Disable temporarily when zooming into micro structure to reduce visual clutter. |
COT ◉ |
Toggle | COT labels. Displays CH and CL values above and below each candle. Turn off on busy charts; enable when analyzing session highs/lows. |
Signals ◉ |
Toggle | Absorption & Divergence signals. Overlays automatic detection of two high-conviction patterns: ABS (red) at resistance where bid volume overwhelms ask and price rejects, ABS (green) at support where ask volume holds and price bounces, and ▼DIV / ▲DIV badges when price makes a new extreme with opposing delta. See Signals section for full details. |
Numbers ◉ |
Toggle | Cell numbers. Shows/hides the buy×sell numbers inside candle cells. Hiding them de-clutters the view and lets you see the color-coded structure more clearly — useful when zoomed out. |
SMA / EMA |
Toggle + Period | Moving averages. Overlay a simple or exponential moving average. Common choices: 20 EMA (short-term trend), 50 SMA (medium-term), 200 SMA (long-term). Period is configurable. |
Pivots ◉ |
Toggle | Daily pivot levels. Displays classic pivot points — Previous Day Close pivot (PP), Resistance 1/2 (R1/R2), Support 1/2 (S1/S2). Calculated from the previous day's OHLC. Strong magnetic levels. |
CPR ◉ |
Toggle | Central Pivot Range. Shows three levels: Bottom of CPR (BC), Pivot Point (PP), Top of CPR (TC). A narrow CPR means a trending day is expected; wide CPR = choppy session. Price inside CPR = balanced market. |
PDH/L ◉ |
Toggle | Previous Day High and Low. These are the most important overnight levels. Breakouts above PDH or below PDL on strong delta are high-conviction directional signals. |
Layout & Theme Controls
These buttons are on the right side of the toolbar:
| Button | Description |
|---|---|
Right |
Stats panel docked to the right of the chart. Best for wide monitors. |
Up |
Stats panel above the chart. Compact layout. |
Dn |
Stats panel below the chart. More chart space vertically. |
Text |
Toggle all cell text on/off globally. Same as the Numbers toggle. |
Dark |
Default dark theme — black background, green/red cells. |
Blue |
Blue-tinted theme — easier on eyes in bright environments. |
Light |
Light theme — white background. Useful for screenshots or presentations. |
Market Profile |
Opens the companion Market Profile view, which shows horizontal volume distribution by price across the entire session — useful for identifying value area (VA) and high-volume nodes (HVN). |
Logout |
Ends your session and returns to the login page. Your layout and settings are saved automatically before logout. |
Time & Sales Panel
The Time & Sales (T&S) panel, sometimes called "the tape," is a real-time feed of every individual trade executed in the market. Each row is one trade print:
- Time: exact IST timestamp of the execution
- B (Buy): trade was executed at the ask — a buyer initiated this trade. Shown in green.
- S (Sell): trade was executed at the bid — a seller initiated this trade. Shown in red.
- Price: execution price
- Qty: number of contracts in this print
- Large prints (K): trades above a size threshold are highlighted more prominently. A
1.2Kprint means 1,200 contracts in a single trade — institutional-scale activity.
A rapid succession of large Buy prints at the same price level (e.g., five consecutive 200-lot buys) signals aggressive institutional accumulation. Watch for the footprint cell at that level — if sell volume is small despite large buy prints, it confirms one-sided aggressive buying.
Reading the Chart — Practical Guide
This section translates the theory into tradeable setups. Order flow does not generate signals in isolation — always combine it with price context (support/resistance, trend, key levels).
Bullish Setup Checklist
- Price at or near session low
- CL turning positive (buyers absorbing the low)
- CVD rising or bottoming out
- Stacked buy imbalances at the low
- Delta positive on most bars near the low
- OI rising on up bars (Long Buildup — teal)
- Price holding above VWAP (or reclaiming it)
- PDL holding as support
- Price at or near session high
- CH turning negative (sellers rejecting the high)
- CVD falling or topping out
- Stacked sell imbalances at the high
- Delta negative on most bars near the high
- OI rising on down bars (Short Buildup — red)
- Price below VWAP
- PDH acting as resistance
No single order flow signal is reliable enough to trade in isolation. The strongest setups occur when 4–5 of the above conditions align simultaneously. A negative CH at a session high combined with stacked sell imbalances and falling CVD is far more reliable than just a negative delta on one bar.
Absorption (Advanced)
Absorption is one of the most powerful order flow concepts. It occurs when a large amount of volume is traded at a specific price level, but price does not move through it. This indicates that passive limit orders are absorbing the aggressive flow.
The chart automatically detects and highlights absorption with the Signals toggle — red ABS bands at resistance, green ABS bands at support. See the Signals section for the exact detection criteria.
Buy Absorption at Support
Imagine price tests 24,250 three times. Each test shows 800–1,000 lots traded, but price bounces. The footprint shows large sell volume hitting 24,250 each time — yet price won't go lower. Why? Because institutional limit buy orders at 24,250 are absorbing every market sell order. When those limit orders are finally filled, the support breaks violently. Until then, 24,250 is a fortress.
Sell Absorption at Resistance
Same concept inverted. Large buy volume keeps hitting a resistance level (24,500), but price refuses to break above. Passive sellers are absorbing every aggressive buyer. Eventually one of two things happens: the buyers give up (price reverses) or the sellers are overwhelmed (breakout occurs). Watch the delta and CVD direction to determine which is more likely.
Look for high-volume cells (large numbers) at a specific price that repeats across multiple bars without price escaping that level. The key is that price does not move through the level despite the volume. If both buy and sell numbers are large at the same tick, it's a contested level with significant passive interest on one side. When Signals are enabled, the chart flags this automatically with an ABS band — you don't need to scan every cell manually.
Delta Divergence (Advanced)
Delta divergence fires when the candle's close direction contradicts its delta direction. The question is simple: did the dominant volume side win on price? If not — they are losing, and that is the divergence signal. No comparison to the previous candle is needed; each candle is evaluated independently.
When Signals are enabled, divergence is automatically marked with a ▼DIV badge above bearish divergence candles and a ▲DIV badge below bullish divergence candles. DIV badges stack on top of other signal badges (±48px offset) so both are always visible together.
▼DIV — Bearish Delta Divergence
The candle closed negative (close < open — bearish candle) but bar delta was positive (buyers dominated volume, delta > +5% of bar volume). Buyers threw effort at this candle but price still closed down — buyers are losing. Bearish bias. Marked above the high.
Candle: open=24,350 close=24,320 (bearish close)
Delta = +380 (buyers dominated — but price went DOWN)
→ ▼DIV badge appears — buyers losing despite high participation
▲DIV — Bullish Delta Divergence
The candle closed positive (close > open — bullish candle) but bar delta was negative (sellers dominated volume, delta < −5% of bar volume). Sellers threw effort at this candle but price still closed up — sellers are losing. Bullish bias. Marked below the low.
Candle: open=24,080 close=24,110 (bullish close)
Delta = -520 (sellers dominated — but price went UP)
→ ▲DIV badge appears — sellers losing despite high participation
When you see a ▲DIV badge below a candle, and an EXH or ABS badge is also on the same candle low, and CL is positive — three independent order flow signals are confirming the same bullish reversal thesis. DIV stacks visually above the signal badge (±48px) so you see both clearly. This is as high-confidence as intraday order flow analysis gets.
Tips & Best Practices
-
Always anchor to VWAP first. Before reading any other indicator, check where price is relative to VWAP. Only take long setups when price is above VWAP; only take short setups below. This single filter eliminates a significant percentage of low-quality trades.
-
COT High negative + price retesting the high = high-probability short. When CH is negative and price pushes back up to the session high, you have institutional selling confirmed by order flow. Set a stop just above the high and target VWAP.
-
Stacked imbalances are future support/resistance zones. Mark them on your chart. When price returns to a stacked buy imbalance zone, it is a potential buy area — the original buyers may defend their entry. Watch delta on the return visit for confirmation.
-
Monitor OI color transitions. A transition from teal (Long Buildup) to orange (Long Unwinding) across consecutive bars signals that the previously dominant buyers are now exiting. This is often an early warning of a trend reversal before price confirms it.
-
Delta divergence at extremes is your sharpest edge. Price at a major high/low with opposing delta is not a coincidence — it is institutional absorption happening in real time. The bigger the divergence magnitude relative to prior bars, the more significant the signal.
-
Use the Time & Sales to time entries. After identifying a setup on the footprint, watch the tape. Wait for a cluster of large aggressive prints in your direction before entering. This confirms the order flow you identified is live and active.
-
Respect the POC magnet on low-delta bars. When a bar closes with a small delta and price is far from the POC, expect the next bar to gravitate back toward the prior POC. This is especially reliable in the middle of the session (11:00–13:00 IST) when range-bound behavior is common.
-
PDH and PDL are the day's most important levels. Breakouts above PDH on strong rising delta + Long Buildup OI = high-conviction upside. Breakdowns below PDL on negative delta + Short Buildup = high-conviction downside. These levels respect order flow the same as any other key price zone.
Overtrading delta: A single negative delta bar does not make a short. Look for context — multiple consecutive negative bars, declining CVD, and a high-probability price location (resistance, session high, VWAP rejection).
Ignoring price levels: Order flow analysis works best at significant price levels (session high/low, PDH/PDL, pivot points). Order flow signals in the middle of a range are often just noise.
Fighting the VWAP: Taking long trades below VWAP because the delta "looks good" is a losing long-term strategy. The institutional bias is against you. Wait for a VWAP reclaim on positive delta before going long.
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.
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:
- 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
| Dimension | Market 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) |
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:
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.
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:
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:
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:
| Shape | Description | What it means |
|---|---|---|
| Bell / D-shape | Symmetric, fat middle, thin tails | Balanced / rotational day. Expect acceptance. |
| P-shape | Fat top, thin bottom tail | Short covering at lows, buyers took control. 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. 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. |
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.
- POC = fair value: the price both sides agreed on for the longest time. It is a magnet.
- POC migration: today's POC higher than yesterday's means buyers have repriced value up (bullish). Lower means 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 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.
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. 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 — 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.
- 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:
| Level | Calculation | Typical 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. |
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.
- VWAP is a common institutional benchmark — many algorithms trade against it.
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.
- 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:
| Class | Threshold | Implication |
|---|---|---|
| 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. |
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.
UI Guide
Toolbar Reference
Every toolbar control is toggle-based: click to turn on / off. Active controls show a highlighted state.
| Control | Function |
|---|---|
| TF | Timeframe for underlying candles: 5m / 15m / 30m. TPO bracket length is fixed at 30 minutes regardless of this setting. |
| Tick | Auto — tick size derived from instrument. Manual — override with custom tick (the number field next to it). Finer ticks = more granular profile but slower rendering. |
| Search | Fuzzy symbol lookup. Start typing to see matches with lot size. Click a result to switch. |
| Candles | Toggle the underlying OHLC candles on / off. Turning off gives a pure TPO / VP view. |
| TPO | Toggle the TPO letters on the profile. |
| VP | Toggle the volume histogram on the profile. |
| POC | Toggle the POC horizontal line (amber). |
| VAH | Toggle the Value Area High horizontal line (blue dashed). |
| VAL | Toggle the Value Area Low horizontal line (blue dashed). |
| IB | Toggle the Initial Balance range and 1x / 1.5x / 2x extensions (orange / green / red lines). |
| VWAP | Toggle the session VWAP overlay. |
| Expand | When on, profiles are drawn wide so letters are easily readable. When off, profiles are compressed to fit more history on screen. |
| Up / Dn | Color pickers for bullish and bearish candles. |
| Bright | Brightness slider (10–100%). Controls opacity of TPO letters and VP bars. Higher = bolder; lower = more transparent. |
| Daily | Each trading day gets its own profile. |
| Weekly | All days in a week merge into one composite profile (Mon–Fri). |
| +5 Days | Load an additional 5 days of history. The counter next to it shows how many days are currently loaded. |
| Themes | Dark — 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 — 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.
MP Signals — Level-Based Trade Triggers
Market Profile signals fire when price interacts with profile levels (Value Area edges, Point of Control, Initial Balance, Low-Volume Nodes). Unlike orderflow signals which read tick-level bid/ask pressure, MP signals operate on acceptance and rejection at levels where the market previously built or skipped volume. They are most reliable when the day's context (Open Type + Profile Shape) confirms the signal's direction.
Each signal renders as a coloured badge on the chart at the exact candle that triggered it, with an accompanying interpretation in the Insights panel on the right. Signals with a confluence score ≥ 4 receive a gold ring around the badge — these are the highest-conviction trades.
The Signals button is a master on/off toggle. The ▾ caret beside it opens a dropdown to enable / disable individual signal types and level overlays. Settings persist across sessions.
Bearish Signals — Fire at VAH / IB High / LVN
| Badge | Name | Trigger | Interpretation & Action |
|---|---|---|---|
| VAH-REJ | VAH Rejection | Candle taps within ~2 ticks of VAH, then closes back below VAH by at least 1 tick. | Value Area is holding. Buyers could not sustain price above VAH. Fade short toward POC; stop above the wick high. Target = POC; trail to VAL on continuation. |
| VAL-BRK | VAL Breakout Down | Two consecutive candle closes below VAL, with the triggering bar opening at or above VAL. | Value Area has failed to the downside. Trend-day potential. Short on any retest of VAL from below. Target = prior day's VAL or 1× VA width extension. |
| IB↓ | IB Breakout Down | After 10:15 IST, a candle closes below the Initial Balance low (candle opened at/above IB low). | Responsive sellers have broken the opening auction range. Short; first target = IB×1 down (IB low − IB range). Highest conviction on Narrow IB days (ignition setup). |
| LVN↓ | LVN Cross Down | Candle opens above an LVN level, closes below it by at least 1 tick. | Price is passing through a thin (low-volume) zone — expect a fast move to the next volume node. Momentum continuation short; tight stop just above the LVN. |
Bullish Signals — Fire at VAL / IB Low / LVN
| Badge | Name | Trigger | Interpretation & Action |
|---|---|---|---|
| VAL-REJ | VAL Rejection | Candle taps within ~2 ticks of VAL, then closes back above VAL by at least 1 tick. | Value Area is holding. Sellers could not sustain price below VAL. Buy toward POC; stop below the wick low. Target = POC; trail to VAH on continuation. |
| VAH-BRK | VAH Breakout Up | Two consecutive candle closes above VAH, with the triggering bar opening at or below VAH. | Value Area has broken upward. Trend-day potential. Long on any retest of VAH from above. Target = prior day's VAH or 1× VA width extension. |
| IB↑ | IB Breakout Up | After 10:15 IST, a candle closes above Initial Balance high (candle opened at/below IB high). | Responsive buyers have broken the opening range. Long; first target = IB×1 up (IB high + IB range). Highest conviction on Narrow IB days. |
| LVN↑ | LVN Cross Up | Candle opens below an LVN level, closes above it by at least 1 tick. | Price is passing through a thin zone — expect a fast move to the next volume node. Momentum continuation long; tight stop just below the LVN. |
Neutral Signals
| Badge | Name | Trigger | Interpretation & Action |
|---|---|---|---|
| POC | POC Magnet | Close within 1.5 ticks of POC on a candle whose body is ≤ 1 tick (indecision bar). | Low-conviction zone. Price is being drawn back to fair value. Do not enter here. Wait for price to reach a VA edge and fire a directional signal. Useful as a "stand aside" filter. |
Level Overlays — Supporting Context
These are not signals; they are visual levels drawn on the chart that the signal engine uses as references. You can enable or disable each overlay independently from the Signals dropdown.
- LVN Low-Volume Nodes — Thin dotted magenta lines at price levels where volume fell below mean − 0.3σ AND below 25% of POC volume. These are fast-move zones: the market historically skipped through them quickly. Expect momentum continuation when crossed. Useful as profit targets for counter-trend fades (LVNs often act as the "next stop" after VA rotation fails).
- HVN High-Volume Nodes — Thin dotted yellow lines at price levels where volume exceeded mean + 0.5σ. These are chop zones where the market has built acceptance. Expect consolidation and false breakouts when price enters an HVN. Avoid initiating positions inside an HVN; wait for the edge. Off by default.
- SP Single Prints — Thin purple hatched bands at price levels traded in exactly one 30-minute TPO bracket. Price moved so fast it only left one letter — a "liquidity gap" that markets tend to revisit and fill. Single prints act as magnets: if the trend pauses or reverses, expect a return to the unfilled single-print zone. Prime target for counter-trend entries and trend-continuation profit targets.
Confluence Scoring — Why Some Badges Get a Gold Ring
Every signal carries a confluence score computed from the signal's own base weight plus day-context modifiers:
| Component | Weight |
|---|---|
| VA-REJ (VAH-REJ / VAL-REJ) | +3 |
| VA-BRK (VAH-BRK / VAL-BRK) | +3 |
| IB-BRK (IB↑ / IB↓) | +3 |
| LVN-BRK (LVN↑ / LVN↓) | +2 |
| POC-MAG | +1 |
Day context: openType == 'drive' | +1 |
Day context: profile shape is P or b (directional) | +1 |
Total score determines visual weight:
- Score 1–3: Standard badge, single-sized. Trade if it aligns with your bias, but do not take it blind.
- Score ≥ 4: Gold-ringed badge. High-conviction setup — the signal's direction is confirmed by the day's character. These are the trades worth sizing up.
Example: VAL-REJ (+3) on a Drive-open day (+1) with a P-shape profile (+1) scores 5 → gold ring. This is a classic short-cover / trend-continuation long setup.
Day Context — Open Type & Profile Shape
Two badges render at the top-left of each day's profile as the session develops. They tell you what kind of day is playing out, which biases your trade selection.
Open Type Badge
- DRIVE — First 15 minutes covers > 50% of the eventual IB range, and the open is outside the prior day's Value Area. Trend-day likely. Trade with the open direction; do not fade VA edges.
- REJECT — Opens outside prior VA but closes back inside within 30 minutes. Rotation day likely. Fade extremes; target POC.
- AUCTION — Tight opening range inside prior VA. Balance / chop. Wait for IB breakout before committing; most setups will fail until a direction asserts.
Profile Shape Badge (P / b / D)
- P — Fat top, thin bottom stem (matches the letter shape). Classic short-covering profile. Price rallied off the lows on aggressive bids, then distribution tightened and balanced near the high. Bullish continuation bias.
- b — Fat bottom, thin top stem (matches the letter shape). Classic long-liquidation profile. Price fell from the highs on aggressive offers, then distribution tightened and balanced near the low. Bearish continuation bias.
- D — Balanced symmetric distribution. Rotation day. Fade extremes, do not chase breakouts unless IB×1 objective is met with volume.
Static shape alone is ambiguous. A fat-top profile could mean either:
- Short-cover (true P — bullish): opens low → rallies → late brackets balance at the top → closes near VAH.
- Distribution top (bearish): opens high → early brackets print at the top → breaks down → closes near VAL.
Both produce visually identical fat-top TPO, but they mean opposite things. The classifier only assigns a directional badge (P or b) when two extra conditions are met:
- Close confirms direction — for P the close must be at or above POC; for b it must be at or below POC. A fat-top profile that closes below POC gets demoted to
Dbecause the rally failed and it is actually a topping pattern. - Timing of the fat cluster — the average bracket-index (A, B, C, D … session letters) inside the fat cluster must be at least as late as the thin end. In other words, the market must have arrived at the fat area and stayed there. A fat top made entirely of A / B letters that later collapsed is not a P — it is distribution.
If either check fails the profile is labelled D rather than mis-signalled as P or b. This prevents false bullish badges on distribution-top days and false bearish badges on accumulation-bottom days.
POC Migration — Day-over-Day Trend Detector
The Insights panel plots the POC Migration: a day-over-day delta of the Point of Control, plus a five-day sparkline of recent POCs. POC migration is the cleanest structural trend indicator in Market Profile — it shows where volume-weighted "fair value" is moving.
- Rising POCs (majority of last 5 days green): bullish regime. Buy dips to prior POC, hold through VAH breaks.
- Falling POCs (majority red): bearish regime. Sell rallies to prior POC, hold through VAL breaks.
- Mixed / flat POCs: rotation. Trade the range, fade VA edges, do not take breakout trades until one direction wins three days in a row.
The Δ vs prev row shows today's POC minus yesterday's POC in points. Green = POC moved up, red = POC moved down. A Δ larger than today's IB range usually indicates a regime shift — take breakout trades with size.
IB Range Statistics — Gauging Today's Movement Potential
The IB Range panel compares today's Initial Balance against your rolling historical window and against ATR(14). This tells you how much range to expect for the rest of the session and which trade templates apply.
| Classification | Today vs Median | Projected Move | Playbook |
|---|---|---|---|
| NARROW | < 70% | ≥ 2× IB expansion expected | Breakout day setup. The coiled spring. Wait for IB break with volume; trail stops loosely. First target IB×1, final target IB×2. |
| NORMAL | 70 – 130% | 1–1.5× IB expansion | Standard day. Fade VAH / VAL into POC; take IB break trades only with strong confluence. |
| WIDE | > 130% | ≥ 1× IB expansion, trend-day likely | Trend-day setup. IB already wide — this session has conviction. Trade with the IB direction on any pullback. Avoid fades against IB direction. |
The vs ATR(14) row is a sanity check: today's IB range as a percentage of the 14-day ATR. If IB > 70% of ATR by 10:15 IST, the day has already spent most of its expected range — expect rotation, not continuation.
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.
- 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).
- 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:
- Identify value — POC, VAH, VAL clearly visible after brackets C or D (around 10:45–11:15).
- Wait for a touch of VAH or VAL. If price reaches VAH and stalls (no immediate breakout), set up a short.
- Confirm with a rejection bar on the underlying candle — a wick or doji at the level.
- Target POC as first target. Second target is the opposite VA boundary.
- 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:
- Confirm IB is Narrow (Profile Stats panel shows red / "Narrow" pill).
- Watch for IBH or IBL break with strong directional volume.
- First pullback does not re-enter IB — this is your entry confirmation. A pullback into IB invalidates the breakout.
- First target = 1x extension. Take off partial, trail the rest.
- Second target = 1.5x extension. Exit remainder if reached. 2x is a bonus.
- Stop just inside the IB range you broke through — failure to hold = failed breakout = exit.
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.
Tips & Best Practices
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.
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.
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.
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.
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).
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.
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 tabs at the top of this sidebar to read the Footprint guide.
- 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.