Skip to main content
The TPO (Time-Price-Opportunity) chart, also known as Market Profile, was developed at the Chicago Board of Trade (CBOT) by J. Peter Steidlmayer in the 1980s. It organizes price data by the amount of time spent at each level rather than by volume or individual trades. In Cluster Terminal, the TPO chart is a dedicated tab type with full session analysis, Initial Balance detection, value area computation, POC tracking, single print identification, and poor high/low detection.

What TPO Charts Show

A TPO chart divides a trading session into fixed time periods (default: 30 minutes each) and assigns a letter to each period. The first period is labeled A, the second B, the third C, and so on through the alphabet. For each time period, the chart prints the corresponding letter at every price level that was touched during that period. Over the course of a session, these letters accumulate horizontally at each price level, forming a profile — a histogram of time spent at price.
ConceptDescription
TPOA single letter printed at a price level during a time period
ProfileThe accumulation of all TPOs across a session
POCThe price level with the most TPOs (most time spent)
Value AreaThe price range containing ~70% of all TPOs
The fundamental insight of Market Profile is that time at price is a proxy for acceptance. If the market spends a long time at a price level, participants are comfortable transacting there — it is fair value. If the market moves quickly through a price level, it is rejected.
Unlike cluster charts which measure volume at each price, TPO charts measure time at each price. Both approaches identify fair value and acceptance/rejection, but from different perspectives. Volume shows where the most capital was exchanged; time shows where the most negotiation occurred.

Session Configuration

TPO analysis is inherently session-based. The profile resets at the start of each new session.

Session Period

PeriodDescription
DailyOne profile per calendar day (default). The most common setting for futures analysis.
WeeklyOne profile per week. Useful for swing traders who want to see the weekly value area.
CustomDefine a custom session start hour (UTC). Useful for aligning sessions with specific market opens.

Session Start Hour

When using Custom session period, set the start hour in UTC. For example, if you want sessions aligned to the US market open (9:30 AM EST = 14:30 UTC), set the start hour to 14. The session will begin at 14:00 UTC each day.
For crypto futures, the default daily session starting at 00:00 UTC works well since crypto trades 24/7. If you trade during specific regional sessions (Asia, Europe, US), consider using custom session starts to align profiles with your active trading hours.

Block Size (Minutes per Letter)

The block minutes setting controls how many minutes each letter represents. The default is 30 minutes, meaning each letter covers a 30-minute time period.
Block SizeLetters per 24h SessionResolution
15 min96 lettersHigh time resolution, more granular profile
30 min48 lettersStandard Market Profile resolution (default)
60 min24 lettersCoarser profile, less noise
Smaller block sizes produce more letters and a wider profile, which can reveal intra-period rotations. Larger block sizes simplify the profile but may miss short-lived price excursions.

Ticks per Row

The ticks per row setting controls the price grouping for TPO letters — analogous to tick size in cluster charts. Each row covers a price range of ticksPerRow * minPriceIncrement.
  • Smaller values: more price levels, taller and more detailed profiles.
  • Larger values: fewer levels, more compact profiles. Useful for volatile instruments or higher timeframes.
Cluster Terminal auto-detects an appropriate default based on the symbol.

Profile Visual Settings

Profile Color

The base color used for TPO letters and the profile outline. The default is derived from the active chart theme.

Block Color Mode

ModeDescription
BrightnessEach time period uses a different brightness level, creating a gradient effect across the session. Earlier periods are darker; later periods are brighter (default).
FixedAll letters use the same color. Simpler appearance but loses time sequence information.

Start/End Block Highlighting

When enabled, the first and last time periods of the session are rendered in distinct colors (configurable). This helps identify where the session opened and where it closed relative to the developing profile.

Letter Display

SettingDescriptionDefault
Show LettersDisplay the actual letter characters (A, B, C…) inside the blocksOn
Hide TextRender blocks as solid rectangles without lettersOff
Letter Font SizeOverride the font size for TPO lettersAuto
Letter Font WeightOverride the font weightAuto
Letter ColorOverride the letter text colorAuto

Outside Value Area

TPO blocks that fall outside the value area can be rendered with a different color and opacity to visually separate them from the core profile:
SettingDescriptionDefault
Outside VA ColorColor for blocks outside the value areaDerived from theme
Outside VA OpacityOpacity for outside blocks (0-1)Reduced from default

Profile Spacing

Controls the horizontal gap between adjacent session profiles when multiple sessions are visible on screen. Increase for clearer session separation; decrease to fit more data.

POC (Point of Control)

The POC in a TPO chart is the price level with the most TPOs — the level where price spent the most time during the session. It represents the “fairest” price of the session.

POC Settings

SettingDescriptionDefault
ShowDisplay the POC lineOn
ThicknessPOC line thickness in px2
Profile ColorColor of the POC indicator within the profileTheme-derived
Ray ColorColor of the POC extension rayTheme-derived
Line StyleSolid, dashed, or dottedSolid
Naked ExtensionExtend unfilled POC levels as rays to the rightOff
Show LabelDisplay a price label at the POC lineOff
Label ColorColor of the POC price labelAuto
Label Font SizeFont size for the labelAuto

Naked POC

When Naked Extension is enabled, POC levels from previous sessions that have not yet been revisited by price are extended as horizontal rays across the chart. These Naked POCs serve as high-probability targets:
  • Price has a statistical tendency to return to untested POC levels.
  • Naked POCs from recent sessions are stronger than those from older sessions.
  • When price finally reaches a Naked POC, watch for a reaction (bounce or acceleration through).

Value Area

The Value Area in a TPO chart works the same as in auction market theory: it is the price range containing approximately 70% of the session’s total TPOs.

Value Area Settings

SettingDescriptionDefault
ShowEnable value area displayOn
PercentPercentage of TPOs within the value area70%
Profile ColorColor of the VA boundaries within the profileTheme-derived
Profile OpacityOpacity of the VA fillTheme-derived
Line ColorColor of VAH/VAL boundary linesTheme-derived
Line ThicknessVAH/VAL line thickness in px1
Line StyleSolid, dashed, or dottedSolid
Show RaysExtend VAH/VAL lines to the rightOff
Naked ExtensionExtend unfilled VAH/VAL from previous sessionsOff
FillFill the value area with a semi-transparent colorOn
Show LabelsDisplay VAH/VAL price labelsOff

Trading with the Value Area

The Value Area defines the zone of acceptance — where the market agreed on fair value during the session:
  • Opening inside VA: Expect rotational, range-bound behavior. The market is accepting yesterday’s value.
  • Opening above VAH: Bullish. The market is exploring higher value. If price holds above VAH, expect continuation.
  • Opening below VAL: Bearish. The market is exploring lower value. If price holds below VAL, expect continuation.
  • VA overlap: When consecutive sessions have overlapping value areas, the market is in balance.
  • VA migration: When each session’s value area shifts in one direction, the market is trending.

Initial Balance (IB)

The Initial Balance is the price range established during the first hour of the trading session (the first two 30-minute periods: A and B). The IB is one of the most important concepts in Market Profile analysis.

IB Settings

SettingDescriptionDefault
ShowDisplay the Initial Balance rangeOff
ColorColor of IB boundary linesGray (#9ca3af)
Candle CountNumber of time blocks in the IB (default 2 = first hour with 30-min blocks)2
Line StyleSolid, dashed, or dottedSolid

IB Extensions

The IB range serves as a benchmark for the rest of the session. Experienced Market Profile traders watch for IB extensions:
ExtensionDescriptionSignificance
Within IBPrice stays inside the initial rangeLow-conviction, balanced day
1x IB extensionPrice breaks out by one IB widthNormal range expansion
1.5x IB extensionPrice extends 1.5x the IB widthModerate directional move
2x IB extensionPrice extends 2x the IB widthStrong trend day, likely to continue
Monitor the IB range in the first hour. A narrow IB (small range) often precedes a large directional move later in the session. A wide IB suggests that early participants have already established the day’s range.

Profile Shapes and Day Types

Market Profile theory classifies session profiles by their shape, which reveals the balance of power between buyers and sellers.

Normal Day (D-Shape)

A bell-curve or “D-shaped” profile where most time was spent in the middle of the range. This is a balanced, rotational day with no strong directional bias. The POC is near the center of the profile.

Trend Day (Elongated Profile)

A tall, narrow profile where price moved steadily in one direction throughout the session. The profile has a long tail on one end and very little time at the extremes. This is the strongest directional signal.

P-Shape (Long Liquidation / Short Covering)

A profile where most of the TPOs are concentrated in the upper portion with a thin “tail” extending downward. This often occurs when shorts cover (buy to close) and price rallies from the lows.

b-Shape (Long Liquidation from Above)

The opposite of a P-shape: most TPOs are concentrated in the lower portion with a thin tail extending upward. This often occurs when longs liquidate and price sells off from the highs.

Double Distribution (Split Profile)

A profile with two distinct clusters of TPOs separated by a thin “neck.” This indicates a session where price found two separate areas of value, often resulting from a news event or a sudden shift in sentiment mid-session.

Single Prints

Single prints are price levels where only one letter appears in the profile — meaning price moved through that level in only a single time period without returning. They represent fast price movement and rejection.

Single Print Settings

SettingDescriptionDefault
ShowHighlight single print zonesOff
Profile ColorOutline color for single printsTheme-derived
Fill ColorFill color for single print zonesTheme-derived
Fill OpacityOpacity of the fillTheme-derived
Line ThicknessOutline thickness1
Line StyleSolid, dashed, or dottedSolid
Naked ExtensionExtend unfilled single prints as raysOff

Trading Significance

  • Single prints at the bottom of a profile indicate aggressive buying that drove price up quickly. The single-print zone often acts as future support.
  • Single prints at the top of a profile indicate aggressive selling that drove price down quickly. The zone often acts as future resistance.
  • Single prints in the middle of a profile (between two clusters) mark the “neck” of a double distribution and often act as a decision point on revisit.

Poor Highs and Lows

A poor high occurs when the session high is a single TPO (or very few TPOs) that was not aggressively auctioned. It suggests that the high was established weakly and is vulnerable to being tested and exceeded. A poor low is the mirror image — a session low with minimal TPO activity, suggesting weak selling at the extreme.

Poor High/Low Settings

SettingDescriptionDefault
ShowHighlight poor highs and lowsOff
ColorColor for poor high/low markersTheme-derived
Line StyleSolid, dashed, or dottedSolid
Naked ExtensionExtend poor highs/lows as rays until testedOff

Trading Significance

Poor highs and lows are unfinished business. The market is likely to return and either confirm or reject these levels:
  • A poor high is a target for future buying. If price returns to the level, watch for a breakout above.
  • A poor low is a target for future selling. If price returns, watch for a breakdown below.
  • When Naked Extension is enabled, these levels remain visible as rays until price returns to test them.

Multi-Session Analysis

Cluster Terminal displays multiple sessions on a single TPO chart, allowing you to compare profiles across days or weeks.

Merge Groups

You can merge adjacent sessions into a composite profile using merge groups. This combines the TPOs from multiple sessions into a single profile, which is useful for:
  • Weekly composite profiles (merge 5 daily sessions).
  • Multi-day analysis of a consolidation period.
  • Pre-event and post-event comparison.

Comparing Profiles

When viewing multiple sessions, pay attention to:
  • Value Area migration: Are the value areas shifting up, down, or staying stable?
  • POC alignment: Do consecutive sessions have similar POCs (balance) or diverging POCs (trend)?
  • Poor high/low resolution: Has a previous session’s poor high or low been tested and resolved?
  • Naked levels: How many Naked POCs, single prints, and poor highs/lows are still outstanding?
TPO analysis is excellent for identifying value and balance vs. imbalance. Use it to determine your directional bias for the session, then switch to cluster charts for precise entry timing based on order flow.

Volume Profile Overlay

The TPO tab optionally supports a volume profile overlay alongside the time-based profile. This provides a side-by-side comparison of time-at-price and volume-at-price within the same session.
SettingDescriptionDefault
ShowEnable volume profile alongside TPOOff
Render ModeVisual style of the volume histogramDefault
OriginAlignment of the volume barsLeft
WidthWidth of the volume profile as a percentageAuto
Show POCHighlight the volume-based POCOn
VA RaysShow value area rays based on volumeOff
VA PercentValue area percentage for the volume profile70%