What is TPO in Market Profile?
TPO, or time price opportunity, marks each price with a letter for every period of the session it traded in, drawing the session’s shape by time.

TPO — time price opportunity — is the building block of Market Profile. A session is cut into periods, 30 minutes each by convention, and every period gets a letter: A for the first, B for the second, and so on. Each letter is written at every price that traded during its period. Stacked side by side, the letters draw the session's shape: wide where the market spent time, thin where it passed through quickly.
What it looks like on the chart
On the BTCUSDT 15-minute chart above, each day's letters sit inside that day's stretch of the time axis. The previous session, on the left, is tall and narrow at the top — single letters such as a and XYa above 84,300, prices only one or two periods ever visited — and wide around its middle, where rows like BCEGHIJKLefghij carry fifteen letters. That highlighted row is the TPO POC, the price that traded in the most periods. On the right, the current session has its own levels: the value area high at 83,450, the POC at 83,300 and the value area low near 83,100, with the blue bar at the session's left edge marking the initial balance, the range of its first hour.
How traders read it
- Value area. Price spent most of its time between the value area low and high. Opening outside and failing to get back in says the market moved on; returning inside often carries through to the other edge.
- Single prints. A run of prices marked by only one period is a stretch the market crossed in a hurry — a gap in the auction that price often comes back to fill.
- Poor highs and lows. Several letters side by side at the very top or bottom row mean the extreme was tested repeatedly without a clean rejection, and is more likely to be taken out later.
- Initial balance. How far price breaks out of the first hour's range is the classic read of whether the day trends or rotates.
On TapeHawk
The TPO (Market Profile) indicator writes a letter for each period at every price row that actually traded in it, read from stored order flow rather than from candle highs and lows, so a fast move that skipped prices leaves them empty. It draws the TPO POC, value area, initial balance, single prints and the session's open and close, with 30-minute periods by default. TPO counts time, not volume: where its POC differs from the Volume Profile POC, price lingered away from where the size traded. It is available on the symbols TapeHawk records and reaches back 30 days.