Module 5 · Lesson 6 of 17 · Order flow and auction market theory · About 7 minutes
TPO Profile Basics: Letters, Periods and Profile Shape
On this page
- What you will learn
- Where does the TPO profile come from?
- What is a TPO?
- How do you read split and collapsed profiles?
- What reference points does a TPO profile show?
- TPO profile diagram
- What does the shape of a TPO profile describe?
- How does a TPO profile differ from a volume profile?
- What are the limits of a TPO profile?
- What this does not tell you about a TPO profile
- Method in Practice
- Check yourself
- Reflect on your own process
- Sources
Before you read: Volume Profile Explained: POC, Value Area, HVN, LVN
What you will learn
- How a TPO profile builds a picture of a session out of letters, one letter for each time period.
- How to read a split profile and a collapsed profile, and what the profile’s outline describes.
- How a TPO profile differs from a volume profile, and why the two can disagree about the same session.
This lesson adds detail to the short introduction in volume profile. The auction ideas behind it are in Auction Market Theory.
Where does the TPO profile come from?
Why would anyone chart time spent at a price instead of the price itself?
The TPO profile grew out of J. Peter Steidlmayer’s work at the Chicago Board of Trade (CBOT), which introduced this kind of chart in the 1980s under a name now associated with CBOT (see the trademark note below). Other authors, including James F. Dalton, wrote about the approach and built on it. “TPO profile” is the generic term this Academy uses. The explanation below is in our own words.
What is a TPO?
If you only noted which prices traded in each half hour, what could you rebuild from that list?
TPO stands for time price opportunity. The day is cut into equal time windows, commonly 30 minutes each, and each window is a TPO period with its own letter. During a period, every price that trades at least once gets that period’s letter on the chart. One letter at one price is one TPO.
A simple constructed illustration:
- In period A, prices from 100.00 to 101.00 trade. Every row from 100.00 up to 101.00 receives an A.
- In period B, prices from 100.50 to 101.50 trade. Those rows receive a B.
- In period C, prices from 99.75 to 100.75 trade. Those rows receive a C.
The rows from 100.50 to 100.75 now hold three letters (A, B and C) because all three periods visited them. The row at 101.50 holds only a B, and the row at 99.75 holds only a C.
Platforms use different letter schemes. Some start at A with the first period of the regular session, some continue in lowercase after Z (TradingView’s TPO chart runs A–Z, then a–z), and some color the blocks as well. Check the legend on whatever tool you use before you compare two charts.
How do you read split and collapsed profiles?
What do you gain and lose when you push all the letters to one side?
A split view puts A–F in time-block columns. A collapsed view packs those same letters into price rows. The letters still identify their blocks: A came before B under this legend even when columns collapse. What is lost is the original column alignment; neither view records exact times/order/repeated visits within each block.
A row marked AC tells you it traded during A and C, not B. It does not say whether A touched it once or revisited it repeatedly, nor whether either visit lasted a second or nearly a whole block. A row with ABCD has four visited blocks, not a measured number of minutes or four individual transactions. Long rows summarize block coverage; short rows summarize fewer visited blocks. Use a time-resolved chart for finer chronology; do not call the collapsed outline a stopwatch.
What reference points does a TPO profile show?
Which rows would you look at first to summarize a session in a sentence?
TPO POC is a row with the highest block-letter count, not the greatest contract volume or a count of every revisit. A value area is a contiguous selected band around it under a declared setting/algorithm. Opening/closing markers remain separate references.
Existing six-period figure, fully counted; row labels denote the boundaries for this discrete exercise:
| Price | Block letters | Count |
|---|---|---|
| 102.00 | C | 1 |
| 101.75 | B C | 2 |
| 101.50 | B C | 2 |
| 101.25 | A B C D | 4 |
| 101.00 | A B C D | 4 |
| 100.75 | A B D E | 4 |
| 100.50 | A D E F | 4 |
| 100.25 | D E F | 3 |
| 100.00 | E F | 2 |
| 99.75 | E F | 2 |
| 99.50 | F | 1 |
Total 29 TPOs. Four rows tie at 4; the price-range midpoint is (99.50+102.00)/2=100.75, so our declared POC tie rule chooses 100.75, the tied row closest to that midpoint. If equal distances also tied, this exercise would choose the lower row.
Declared two-row-pair, at-least-target teaching rule: percentage 70%; raw target 0.70×29=20.3; round up to 21 whole TPOs. Begin with the POC’s 4. Compare the next TWO not-yet-included rows above with the next TWO below; take the pair with the larger count, above on a tie. Include a full pair (or remaining single edge row if only one remains) and stop when total≥21. This convention permits overshoot. It is not TradingView’s TPO method, which its TPO indicator help page describes as adding one row at a time (the side with more blocks; on a tie, the row closer to the POC) until the target is reached. Nor is it the no-overshoot volume algorithm in Volume Profile Explained.
| Step | Upper candidate | Lower candidate | Selected/subtotal | Band |
|---|---|---|---|---|
| Start | — | — | POC 4 | 100.75 only |
| 1 | 101.00+101.25: 4+4=8 | 100.50+100.25: 4+3=7 | Upper; 4+8=12 | 100.75–101.25 |
| 2 | 101.50+101.75: 2+2=4 | 100.50+100.25: 4+3=7 | Lower; 12+7=19 | 100.25–101.25 |
| 3 | 101.50+101.75: 2+2=4 | 100.00+99.75: 2+2=4 | Tie→upper; 19+4=23 | 100.25–101.75 |
The first accepted whole-pair band reaching the 21-letter threshold contains 23/29≈79.31%, not exactly 70%. VAL 100.25/VAH 101.75 use row-label boundaries, not half-row edges. The example’s count is valid under its declared overshoot convention; another algorithm can choose a different band. If comparing platforms, record row size, session, POC tie rule, percentage, rounding, pair selection and stopping rule. TPO counts above/below POC count block coverage, not actual dwell time or buying/selling intent. See Volume Profile Explained: POC, Value Area, HVN, LVN for the distinct volume-row method; do not mix their algorithms.
TPO profile diagram
Read the diagram step by step
- Fictional A–F blocks. Letters retain block identity; within-block time/order unavailable.
- Declared POC midpoint tie rule
- Total: 29 block letters. Four rows tie at 4. Range midpoint (99.50 + 102.00)/2 = 100.75; choose closest tied row → POC 100.75. Lower row if equal distances also tie.
- Declared teaching convention
- target 70% = 20.3; ceil 21 whole TPOs. Two-row pairs; at-least-target stop. NOT a certified vendor algorithm or L015’s no-overshoot volume rule.
- Start: 4
- POC 100.75 contributes 4.
- Upper pair: 4 → 12
- 101.00 + 101.25: 4 + 4 = 8; lower candidate 4 + 3 = 7.
- Lower pair: 12 → 19
- 100.50 + 100.25: 4 + 3 = 7; upper candidate 2 + 2 = 4.
- Tie → upper: 19 → 23
- 101.50 + 101.75: 2 + 2 = 4; lower candidate 2 + 2 = 4. Above wins the tie.
- 23/29 ≈ 79.31%, NOT exactly 70%
- At least 21 reached by a whole pair. VAL = 100.25; VAH = 101.75. Row labels are boundaries for this exercise.
- Included: 23 of 29 block letters
- Block coverage, not a stopwatch
- Letters retain block identity. Within-block times, repeated visits and their order are unavailable; counts are not measured dwell time or buying/selling intent.
Illustrative diagram constructed for teaching. Not real market data.
The original 23-of 29 band is reproduced by a specified two-row-pair overshoot convention, not mislabeled exactly 70% or attributed to an unverified vendor algorithm.
What does the shape of a TPO profile describe?
Can a column of letters tell you whether a session was calm or directional?
Shape terms describe the selected distribution of visited blocks. A bell outline can be consistent with rotations and a thin elongated one with directional movement, but those are contextual readings, not proof of repeated rotations, speed, or one uninterrupted path. Labeled blocks constrain some broad chronology; the outline alone does not supply the within-block sequence.
The shape words from volume profile apply here too:
- A bell or “D” outline: most letters in the middle, fewer at the ends.
- An elongated outline: few letters per row spread over a wide range.
- A P or b outline: heavy rows near one end and a thin tail toward the other.
- A double distribution: two wide areas joined by thin rows. The thin rows are often single prints, covered in excess, poor highs and lows, and single prints.
These words describe a finished session. A profile in the middle of the day is still changing, and its outline at noon can look quite different from its outline at the close.
How does a TPO profile differ from a volume profile?
If a market spends an hour at one price but trades few contracts there, which chart notices?
Both are sideways histograms of a session, but they count different things.
| TPO profile | Volume profile | |
|---|---|---|
| What one unit means | One period visited one price | One contract (or share) traded |
| What a long row shows | Price was visited in many periods | A lot of volume traded there |
| Main setting | Period length (for example 30 minutes) | Row size and data source |
Because they count different things, they can disagree. Picture a constructed session where a burst of heavy trading happens in ten minutes around 101.25, then price drifts quietly for two hours near 100.50. The volume profile could show its point of control near 101.25. The TPO profile could show its point of control near 100.50, because more periods visited that price. Neither chart is wrong. They answer different questions: “where did contracts change hands?” and “where did the session spend its time?”
What are the limits of a TPO profile?
How much does the picture change if you change one setting?
- Period length changes the picture. A 30-minute profile and a 15-minute profile of the same session can show different tails, a different point of control and a different value area.
- Session definition matters. For index futures, which trade nearly around the clock, a profile of the regular session and a profile of the full session describe different things.
- A touch counts like a stay. One trade at a price is enough to earn a letter. A price touched for a second and a price held for 29 minutes can earn the same single letter in that period.
- No direction. Letters show that a price traded, not which side was more aggressive. For that, traders use the tools in order flow basics.
- Hindsight. The outline is complete only after the session ends.
What this does not tell you about a TPO profile
- A TPO POC has the largest selected block count under its tie convention, not necessarily the most individual visits or exact dwell time.
- A percentage setting is not a forecast probability, and discrete algorithms need not include exactly 70%.
- A profile shape describes the session that produced it. It does not describe the next one.
- Letters do not show who traded, how much, or why.
Method in Practice: acceptance measured in letters
Fictional example. John, Harbor Index futures, the prices, times, costs and results are all invented for teaching. This shows how a written plan can be built and tested. It is not a recommendation, and nothing here says how often this idea works.
Try it on a real chart. Test this idea yourself on past sessions with bar replay. Keep your own count, including the days with no trade.
The idea. A TPO profile records which prices each 30-minute period visited. Some traders define acceptance in those terms: a period whose letters stay entirely outside the old value area. This plan uses the value area from the lesson's own worked table (low 100.25, high 101.75). It also uses a different kind of exit from Volume Profile Explained: POC, Value Area, HVN, LVN: a stop order that triggers as soon as price touches a level, not after a period closes.
John's plan
- Setup
- prior TPO value area 100.25–101.75; today opens above 101.75
- Enter if
- two periods in a row print no letters at or below 101.75 (each period's low stays above it). Buy.
- Wrong if
- price trades at 101.60 (stop order)
- Manage
- take half at 102.40, the rest at 102.90 or by 14:30
- Risk
- $150 maximum, costs included
Three outcomes
-
Worked: price stayed above value → +$80
-
Failed: price fell back into value and hit the stop → −$110, inside the limit
-
No trade: the periods kept dipping into value → $0
Show the full replays
| Item | Plan |
|---|---|
| Context | Prior TPO value area 100.25–101.75 (POC 100.75), from this lesson's worked table |
| Entry condition | Two 30-minute periods in a row have their lows above 101.75. Buy 2 at market after the second period ends |
| Wrong if | A stop order at 101.60 |
| Management | Take profit on half at 102.40 (limit) and move the stop for the rest to the entry price. Rest at 102.90 (limit). Time limit 14:30 CT |
| Risk cap and size | $150. A stop fill one tick under 101.60 is planned to cost about $60 per contract, so 2 contracts |
| Not trading if | Scheduled major release within the hour, or no setup by 12:00 CT |
Replay A: worked
| Time (CT) | Period | Range | John |
|---|---|---|---|
| 08:30–09:00 | A | 101.80–102.10 | Low above 101.75: one |
| 09:00–09:30 | B | 101.85–102.20, closes 102.15 | Two in a row: buys 2 at market, filled 102.20 |
| 09:30–10:20 | C–D | Trades 102.40 at 10:20 | Sells 1 at 102.40 (limit). Stop for the other moves to 102.20 |
| 10:20–12:35 | D–H | Lows stay above 102.25, trades 102.90 at 12:35 | Sells the last 1 at 102.90 (limit) |
Result after costs: +0.20 point = +$20, +0.70 point = +$70, commissions −$10. Net +$80. Journal: "Acceptance above value by my letter rule. Both targets traded."
Replay B: failed
| Time (CT) | Period | Range | John |
|---|---|---|---|
| 08:30–09:00 | A | 101.80–102.05 | One |
| 09:00–09:30 | B | 101.82–102.12, closes 102.00 | Two: buys 2 at market, filled 102.05 |
| 09:30–10:00 | C | Drops to 101.48 | Stop at 101.60 triggers, filled 101.55 |
| 10:00–15:00 | D onward | Rotates inside the old value area | Done for the idea |
Result after costs: 2 × −0.50 point = −$100, commissions −$10. Net −$110. Journal: "Two clean periods, then straight back into value. The stop filled a tick lower, as planned for."
Replay C: no trade
| Time (CT) | Period | Range | John |
|---|---|---|---|
| 08:30–09:00 | A | 101.70–102.05 | Letter at or below 101.75: no |
| 09:00–09:30 | B | 101.90–102.30 | One |
| 09:30–10:00 | C | 101.72–102.10 | Back below 101.75: count resets |
| 10:00–12:00 | D–G | Each period dips to 101.70–101.74 | Never two in a row. 12:00 cutoff |
Result: $0. Journal: "Price sat right on the edge of value. My rule says that isn't acceptance."
Test it yourself
- Fix your period length, row size and value area method, and write them down (this lesson's settings).
- Replay every session that opened above the prior value area. Count all of them, including the no-trade days.
- Repeat with 15-minute periods. If the results change a lot, the rule depends on a setting more than on the market.
Where it breaks
- One quick trade into value is enough to add a letter there. A brief poke counts the same as a long stay.
- A stop order can fill past its price in a fast drop (here, one tick).
- Value areas differ by method. The lesson's own example covers 79%, not exactly 70%.
Calculators: position sizerisk/rewardexpectancy
Reflection question: Does your plan say whether an exit triggers on a touch or on a close, and why?
Check yourself
Reflect on these; there is no score.
- What do collapsed letters AC retain, and what remains unknown?
- Reproduce the illustrated value area. Is 23/29 an exact 70% share?
- Period D visits 100.25, 100.50, 100.75 with 0.25 rows. How many TPOs, even if it revisits 100.50 ten times? Hint: count the rows from 100.25 to 100.75.
- Why can TPO POC and volume POC differ on the same session? Hint: one counts periods, the other counts contracts.
- With the same fixed trade record, why can changing 30-minute blocks to 15-minute blocks change the tails? Hint: more periods means more chances to add letters at the extremes.
Trademark note. Market Profile is a name associated with the Chicago Board of Trade (CBOT), now part of CME Group. CBOT and Chicago Board of Trade are trademarks of Board of Trade of the City of Chicago, Inc. Socratic Trading Academy is not affiliated with, sponsored by or endorsed by CME Group or CBOT.
Reflect on your own process
- Which period length, session and value-area rule does your written setup use for TPO profiles, and why those?
- When your notes mention "time spent" at a price, what did you actually measure?
- How would you confirm your platform's POC tie rule before comparing your numbers with someone else's?
- Does your plan say whether an exit triggers on a touch or on a close, and why?