TPO count (TPOs above and below the POC)

The TPO count compares the number of TPOs above a Market Profile's point of control with the number below it, excluding the POC row. It measures on which side of the fairest price the market spent more time during the period, and it is used as a quick numeric read of whether a profile is top-heavy or bottom-heavy.

Senzoukria · Glossary · Updated September 2026


How it is counted

Build the Market Profile for the period, with one TPO for each bracket that traded at each price row. Find the point of control, the row with the most TPOs. Add up the TPOs in all rows above the POC, then those in all rows below it; the POC row itself is counted in neither. The two totals, and the difference between them, are the TPO count.

  • TPOs measure time at price: a row with six letters was visited in six brackets, whatever the volume.
  • The count depends on the bracket length and on the row height, because both change the number of TPOs.
  • It depends on where the POC is, so a tie in the POC choice can move the count.

A worked example

A profile holds 96 TPOs over a range of 34 ticks, with a value area 15 ticks wide. Its POC row carries 13 TPOs; 38 TPOs sit above it and 45 below. The count is 38 above against 45 below: the market spent more time below its fairest price than above it. With 30-minute brackets, the difference of 7 TPOs corresponds to three and a half hours of bracket-visits, spread across the rows below the POC.

How to interpret it

The count is a description of the distribution's weight, not a signal. Texts on Market Profile differ on whether to call the heavier side 'buying' or 'selling', since time spent below the POC can reflect responsive buyers holding lower prices or sellers keeping price there; some practitioners give the count little weight compared with the profile's structure. It is therefore safer to use the raw numbers together with the shape, the location of value relative to the previous period and what happened at the extremes.

  • A large imbalance on a D-shaped profile is worth a second look at the tails.
  • A balanced count on a profile whose POC drifted all day can hide two different halves of the session.
  • Compare counts only between profiles built with the same bracket, row height and period.

In Senzoukria

The Market Profile (TPO) overlay has a 'Profile statistics' option whose hint describes it as TPO total, range in ticks, value-area width, and TPOs above and below the POC, Dalton's count. It prints under each profile a line such as '96 TPO · 34t · VA 15t · ↑38 ↓45', where the arrows are the TPOs above and below the POC row. When letters are enabled, each row's count is the number of distinct brackets that touched it, which is the canonical TPO. The 'TPO count per row' option writes each row's count beside it. The POC is the row with the most TPOs; ties go to the row closest to the middle of the profile, then to the lower price.

In the same section

This page in other languages

Frequently asked questions

Does a higher TPO count below the POC mean the market is bullish?
Not in itself. It means more time was spent below the point of control than above it. Some texts read that as responsive buying under value, others as selling pressure; the count alone does not settle which. Use it with the profile's shape, its tails and where value sits relative to the previous session.
Why does my TPO count differ from another platform's?
Because the count depends on the session anchor, the bracket length, the row height and the tie rule for the POC. A profile anchored at 17:00 Chicago and one anchored on the 8:30 RTH open describe different auctions, and a different POC row changes which TPOs fall above or below it.

Keep reading