Market Profile structure

M2.06Context: Volume & TimeFoundationDefinition≈ 16 min

Learning objectives

  • Define a TPO and read a 30-minute Market Profile letter by letter, including the lettering and session conventions your platform uses.
  • Name the parts of a TPO profile (IB, range extension, TPO POC, TPO value area, single prints, tails) as descriptions of how the auction was built.
  • Explain what a time-based profile shows that a volume profile hides, and vice versa.
  • Compare the TPO POC with the volume POC and describe a divergence without treating it as a forecast.
  • State what our lab found when TPO features were tested as levels against random prices at the same distance.
CHART EXAMPLES & STRUCTURAL DIAGRAMSClick any diagram to inspect full screen
How TPO (Time Price Opportunity) Letters Construct the ProfileEach 30-minute bracket (A, B, C, D...) prints across traded prices and collapses onto the left price axis to form the TPO bell curve.
Split vs Collapsed TPO Profile ViewViewing individual 30-minute brackets side-by-side reveals the exact path price took to build the final profile.

The volume profile answers “how much traded here?” But there’s a second question the auction is always answering: “how long did price spend here?” A level can print huge volume in five violent minutes, or tiny volume across four grinding hours. Same price, completely different auctions, and only one of the two profiles shows you the difference.

A TPO (cơ hội giá theo thời gian — Time Price Opportunity) is one 30-minute bracket (khung 30 phút) printing at one price Definition. The Market Profile stacks TPOs as letters: wide rows mean price spent many brackets there (acceptance over time); narrow rows mean price passed through quickly (rejection over time). The volume profile answers “how much?”; the TPO profile answers “how long?”

Some history helps explain the conventions. Peter Steidlmayer developed the Market Profile at the Chicago Board of Trade, and the CBOT began distributing it in the mid-1980s, before volume at every price was easy to get. Time at price was the data traders had. That is why the classic tools (value area, Initial Balance, single prints, tails) were defined on TPOs first and only later copied onto volume profiles.

Chart first: letters instead of bars

ANIMATED FIGURE

Eight 30-minute brackets collapse into one ES TPO profile

Definition
Eight 30-minute brackets collapse into one ES TPO profile — Interactive figure
0%
WHAT TO SEEWhat to see: each bracket (A from 09:30 ET, then B, C ... H) is drawn as a column on the right and adds one letter to every price it traded on the left. Rows that many brackets visited grow wide; 5,991 collects seven letters and becomes the TPO POC. The single letters at both extremes (A at 5,987, F at 5,995) are prices the auction visited once and left. The value area (5,989 to 5,993) is built outward from the POC, one row at a time, and holds 27 of the 33 TPOs because the last row added overshoots 70%. The profile describes where time was spent; it says nothing about where price goes next. Synthetic session.

Synthetic data

The same profile as text, the way many platforms print it:

5,995 | F
5,994 | EF
5,993 | DEFG
5,992 | CDEFGH
5,991 | BCDEFGH   <- widest: most time = TPO POC
5,990 | ABCDEH
5,989 | ABCD
5,988 | AB
5,987 | A         <- narrow: one bracket, never revisited

Each letter is a 30-minute bracket: A is the first of RTH, 09:30–10:00 ET (21:30–22:00 ICT, winter), then B, C, D, and so on. A full RTH session to 16:00 ET is 13 brackets, A through M. Read it like a diary: the A bracket spiked to 5,987 and left, one letter with no return. The B–H brackets built a wide block at 5,990–5,993: the auction lived there. Same information family as the volume profile, but timestamped: you can see when each part of the auction happened.

Check your platform’s conventions. Some platforms letter the overnight session too (often in lowercase or a different color), some start lettering at the ETH open, some let you change the bracket length from 30 minutes to 15 or 60. The letters on your screen may not match a book or a colleague’s chart. Decide which session you profile and keep it fixed, exactly the same discipline as volume profiles (M2.01).

The anatomy, in one place

A finished TPO profile has a small set of named parts Definition. You’ll study several in detail later; here is the map:

  • Initial Balance (IB): the range of the first two brackets, A and B: the first hour of RTH, 09:30–10:30 ET (M2.07).
  • Range extension: any trade beyond the IB later in the day. Who extended, and how far, is a large part of the day-type label given at the close (M1.04).
  • TPO POC: the price with the most letters, the most time. If two prices tie, platforms use a rule such as “nearest the middle of the range.”
  • TPO value area: about 70% of all TPOs, built outward from the TPO POC with the same procedure as the volume value area (M2.02), counting letters instead of contracts.
  • Single prints: a run of prices inside the profile with only one letter: fast movement that the auction did not come back to (M2.08).
  • Tails: two or more single prints at an extreme. Profile traders call this excess: the auction traded there briefly and left (M2.09). Whether such an extreme then holds as a level is a separate, testable claim (below).

Usually time and volume agree: where price spends time, volume tends to follow. When they diverge, the difference is worth describing. Lots of time but little volume is what profile traders call slow, grinding acceptance; huge volume in a single bracket is fast acceptance, someone in a hurry. The TPO POC is the price with the most TPOs (the most time), a different fact from the volume POC’s most contracts. Compare the two (M2.01): together they show whether time and money agreed about where value was. Whether a divergence tells you anything about what happens next is not shown Lore: in our lab’s test (below) neither POC held better than the other on the days they sat apart.

This lesson is the grammar for the next three: Initial Balance (M2.07), single prints (M2.08), and poor highs/lows (M2.09) are all read directly off the TPO letter structure. And the developing TPO builds live: by midday you can already read structure forming; you never wait for the close to start reading.

What the data says

The popular use of TPO structure goes beyond description: “the prior TPO POC and value-area edges are support and resistance”, “single prints get filled or hold”, “poor highs get repaired”, “excess holds”. Our lab tested these together, each against random prices at the same distance from the open.

Why it is still worth knowing

  • Shared vocabulary. “C broke the IB high”, “single prints from 18,021 to 18,034”, “a tail at the low” are how profile traders, and later lessons, describe a session in one line.
  • It describes the auction. The letters timestamp where value was built and where price only passed through, which a volume profile cannot show.
  • It frames risk. If your idea is “value is moving higher”, letters collapsing back into the old block are a clear sign the idea was wrong, and a natural place to define your stop.
  • It is a hypothesis you can test. If you believe a TPO feature works for you, log it with a written rule and compare it with random prices (EV1.04).

Worked example: the rejection, timestamped

Illustrative ES session, synthetic numbers. Developing TPO at 12:30 ET (00:30 ICT, winter). The A–B brackets (09:30–10:30 ET) show a thin spike to 5,997 with single prints: one letter per price, no width. The D–F brackets (11:00–12:30 ET) built a wide 5,980–5,990 block where time and volume agree.

Read: the morning probed 5,997 and the auction spent no time there: rejection in TPO language, matching the volume read. The letters add what volume alone couldn’t: the probe happened in the first hour (A–B) and was not revisited in the following brackets. Then the G bracket starts printing at 5,995–5,998 with widening rows: time is now being spent higher. The rejected price is being retested, and this time the auction is staying for a while.

The TPO didn’t add a new opinion; it timestamped the behavior. “A–B rejected 5,997; G accepting 5,995+” is precise, plannable language: the retest has a defined question (does G’s acceptance continue into H?) and a defined failure (G’s letters collapse back into the 5,980–5,990 block). Neither outcome is forecast by the letters; they tell you what to watch. “C bracket broke the IB high” is the kind of sentence profile traders use every day: brackets are the market’s own clock.

Worked example 2: a split profile and two POCs

Illustrative NQ session, synthetic numbers. Platforms can display the same day “split,” one column per bracket, instead of collapsed into one profile. Split view: A and B trade 18,000–18,020; C through F rotate 18,005–18,015; G drives to 18,045 in one bracket; H through M rotate 18,035–18,045.

Collapse it and count letters: 18,005–18,015 has six letters on most rows (A–F), 18,035–18,045 has seven (G–M), and the rows from 18,021 to 18,034 have only G. The TPO POC lands in the afternoon block, because more brackets were spent there. But the volume profile, which counts contracts, puts its POC at 18,010: the morning was busier. So the TPO says “most time was spent high” while volume says “most business was done low,” with a single-print corridor between them.

Read: this is a double distribution (M2.05), and the two POCs are not a data error. They describe a patient, thin afternoon acceptance and a heavy morning one. For tomorrow’s sheet, the single-print corridor at 18,021–18,034 is a reference to watch, not a target: whether price moves through it quickly or builds value inside it is the question, and single prints as support or resistance have no measured edge (M2.08). Likewise, watch whether the afternoon’s higher value attracts volume or gets abandoned.

What the TPO profile does not tell you

  • Size. One letter is one bracket at one price, whether one contract or ten thousand traded. For size, use the volume profile and footprint.
  • Who was aggressive. Neither time nor volume says which side initiated; that’s delta (M3.04).
  • Where price reacts next. TPO POCs, value-area edges, single prints, poor highs and tails reacted no more often than random prices in our lab’s test.
  • Anything without a fixed session. Change the session start and the letters, IB and TPO POC all change.

Common mistake: Reading the TPO profile as a prettier volume profile and ignoring the time dimension. What the letters add is when the width was built: a wide block from the A–B brackets and one from the K–M brackets are different stories about the same day. And a TPO POC far from the volume POC isn’t a data error: time and money disagreed, which is a reason to slow down and describe the day carefully instead of picking the prettier level.

Common mistake: Treating a tail or a run of single prints as a level that holds. “Excess” is a description of how an extreme was made; in our lab’s test, excess extremes held no more often than random prices (on QQQ, less often). Mark them as references to watch, and let the reaction at the price, not the label, inform your plan.

Recap:

  • One TPO = one 30-minute bracket at one price; wide rows = acceptance over time, narrow rows = rejection over time. Volume answers “how much?”, TPO answers “how long?”
  • The anatomy (IB from A+B, range extension, TPO POC, TPO value area of ~70% of letters, single prints, tails) was defined on TPOs first; know your platform’s lettering and session settings.
  • Time/volume divergence describes how value was built (slow and patient vs fast and heavy) and can put the two POCs at different prices.
  • As levels, TPO features did no better than random prices in our lab’s 62-test study: use the profile to describe the auction and frame risk, not as a signal.
Check yourself3 questions
  1. 1A collapsed profile shows row 5,991 with the letters B C D E F G H and row 5,987 with the letter A only. What does each row describe?

    Choose one answer.

  2. 2On an otherwise normal ES day the volume POC is at 5,985 but the TPO POC is at 5,990. Which read is best supported?

    Choose one answer.

  3. 3A course says a tail (excess) at the session high "holds" when price comes back to it. Our lab tested excess extremes against random prices at the same distance on 721 sessions. What grade fits the course's claim?

    Choose one answer.

Further reading:

  • Market Profile (TPO), ATAS help: TPO construction, brackets and POC on your charting platform.
  • Time Price Opportunity Charts, Sierra Chart documentation: the technical reference for TPO chart configuration.
  • James F. Dalton, Robert B. Dalton and Eric T. Jones, Markets in Profile (Wiley, 2007): the standard text on reading the auction through time and price. Read it for the vocabulary; its rules are definitions, not tested results.
  • Our lab: prior TPO POCs, value-area edges, single-print edges, poor highs and lows and excess extremes, each compared with random prices at the same distance over 721 sessions of QQQ and SPY plus a 30-minute futures check: no feature held up on the holdout.

Prerequisites: M2.01 Point of Control and M2.02 Value Area High & Low · Next: M2.07 Initial Balance, which measures the A+B range and its base rates · Connects to: M2.05 (double distribution), M2.08 (single prints), M2.09 (poor highs and lows, excess)

Educational content only, not financial advice. Futures trading involves substantial risk of loss.

Saved in this browser (account sync comes at launch).

Not financial advice. Educational content only. Futures trading involves substantial risk of loss.