← All indicators

Session Time-at-Price Profile

Session Profile: a free TradingView indicator

Where did price spend the most time during the session?

  • Free
  • Open source
  • Every percentage with its n
  • No signals
ES chart on TradingView with Session Profile: time-at-price blocks, Value Area in purple and POC in orange.
ES, 5-minute bars, regular session of 16 Oct 2026. TradingView capture.
  • A time-at-price profile of the regular session in progress and the one before it.
  • POC and a 70% Value Area, with optional period letters.
  • The same profile on any timeframe: when bars do not line up with the 30-minute periods, it reads intrabars.

How it is computed

Each 30-minute period that traded at a price adds a block to that row. The POC is the row with the most periods and the value area grows from it to 70% of the blocks. The profile in progress changes until the close; a finished one no longer changes.

How to add it

  1. Open it on TradingView and press "Use on chart" or "Add to favorites".
  2. Or copy the code, open TradingView's Pine editor, paste it and press "Add to chart".

The measurement behind it

One of our guides' tables on the same thing the indicator measures, with its sample and its date range.

The '80% rule' measured: back into yesterday's value and across to the other edge

ES

Swipe to see the sample →

CaseReaches the opposite edge in the same sessionSessions
All acceptances61.4%950
Acceptance within the first two hours67.2%509
The opposite edge had not been touched yet47.8%703
Opens above value: all64.9%507
Opens above value: opposite edge untouched47.8%341
Opens below value: all57.3%443
Opens below value: opposite edge untouched47.8%362

n = 950 · 2010-06-07 to 2026-09-30 · historical futures data

ES regular session (9:30-16:00 ET), 7-Jun-2010 to 30-Sep-2026. Value area = 70% of the TPOs of the previous regular session, 30-minute period profile. Acceptance = the session opens outside that area and two consecutive 30-minute periods close inside it. 'Reaches' = it trades the opposite edge of the area before the close. 'First two hours' = the acceptance completes by the fourth period at the latest. 'The opposite edge had not been touched yet' leaves out the sessions that had already traded it when the acceptance completed: in those the rule is met by definition and there is nothing left to gain. Previous-day levels adjusted to the day's contract on contract changes. It is what happened, not a signal.

Download the table (CSV) ↓

Read the full guide: VAH, VAL and POC: How to Read the Value Area in Futures →

Frequently asked questions

Are they free?

Yes. All of them are public and open source on TradingView, and you add them with a free account. TradingView's free plan limits how many indicators you can have on a chart at once.

Do they repaint?

Key Levels and Setup State fix each level when its period or window ends; only the table updates inside the bar. The Session Profile of the session in progress changes until the close, and a finished session's profile no longer changes.

What data do they use?

The data of the chart you open them on. The historical frequencies are embedded in the indicator and say up to which date they were measured and over how many sessions.

Why do they give no signals?

Because a historical percentage describes how much and how often the market moved in the past, not where it will go today. That is why every figure comes with its sample and none of them suggests trades.

All indicators