Time Price Opportunity charts explained
The Time Price Opportunity (TPO) chart type, also known as market profile, helps you visualize price dynamics as the profile period develops and the concentration of prices at certain levels during a specific period. You can use TPO on our Supercharts to identify price levels with the most or most minor activity, to gain insights to determine future price movements.
CONTENTS:
- TPO charts construction principles
- Chart settings
- Splitting and merging profiles
- Multi-session profiles
TPO charts construction principles
Time Price Opportunity is based on a concept developed by J. Peter Steidlmayer in the 1980s. It has gained widespread acceptance in the futures and commodity markets and is now widely used across all sectors.
- Each profile covers a period, which can be specified in days, weeks, or months
- Each letter represents one block of time within a profile, dividing the profile period into equal periods (5 minutes, 10 minutes, 15 minutes, 30 minutes, 1 hour, 2 hours, or 4 hours). The sequence of letters begins with uppercase A-Z, followed by lowercase a-z, and repeats as necessary
- A block of one letter appears at each price level where market activity occurred during the time segment corresponding to one letter. For example, all levels at which block "A" appears were visited during the first time segment of the profile period
- Each profile line represents the price range that covers the chart
For more detailed information on how the TPO profile is calculated, read our article on the TPO indicator.
On the right side of the TPO is the volume profile — it is calculated using data for the period specified in the "Block Size" parameter.
Additionally, a price chart is displayed as a line.
Chart settings

Line
- Price source: Allows you to select based on which values the line chart is built
- Line: Sets the color and thickness of the chart line
Time Price Opportunity
- Periods: Determines the duration of each profile, set by the number of days, weeks, or months. The default is one day
- Block size: Defines the sub-period of time represented by each letter used to name the blocks. Smaller block size allows for more detail. Values: 5 minutes, 10 minutes, 15 minutes, 30 minutes, 1 hour, 2 or 4 hours, default is 30 minutes. Affects the calculation of TPO and Volume profiles
- Row size: Determines how many lines the profile will contain. Select the optimal value for the "Ticks per row" setting in automatic mode. The number of ticks you specified in the "Ticks per row" field is used manually
- Ticks per row: This value is used only if the manual Row size setting mode is used
- Value area: Sets the percentage of blocks used to calculate the cost zone. The default value is 70%
- Gradient colors: These colors are used to display TPO blocks. The first two colors define the color range for the A-Z blocks; the last two colors are for blocks a-z
- Blocks: Controls the display of TPO-colored blocks. Disabling the settings will not work if the Letters setting is enabled, but they cannot be displayed due to the lack of space
- Letters: Controls the display of TPO letters. If this feature is enabled, letters will only be displayed if there is enough space for them; otherwise, colored blocks will be displayed
- Opacity outside the VA: Sets the transparency value outside the Value Zone
- Split by blocks: Distributes blocks into each time block throughout the entire profile period
- Summary info: Additional data about each separate TPO calculation
Lines and marks
- POC: Toggle the visibility of the line and point of control mark for the TPO period
- Poor high: Toggle the visibility of the line and the weak high label for the TPO period
- Poor low: Toggle the visibility of the line and the weak low label for the TPO period
- Single prints: Toggle the visibility of the single print line and label for the TPO period
- VAH: Toggle the line's visibility and the value area high label for the TPO period
- VAL: Toggle the line's visibility and the value area low label for the TPO period
- TPO midpoint: Toggle the visibility of the average level label for the TPO period
- Open price: Toggle the visibility of the open price label for the TPO period
- Closing price: Toggle the visibility of the closing price label for the TPO period
- Initial balance range: Display the initial balance line as a vertical line to the left of the TPO profile and determines the number of blocks used to form the range
Volume profile
- Show volume profile: Toggles the visibility of the volume profile to the right of the TPO profile
- Values: Toggle the visibility of volume values if there is enough space for them
- VAH: Switch the visibility of the value area high line for the volume profile
- VAL: Switch the visibility of the value area low line for the volume profile
- POC: Toggle the visibility of the point of control line for the volume profile
- Volume: Determine the color of levels outside the value zone
- Value area: Determine the color of the levels inside the cost zone
- Placement: Determine whether the volume profile is aligned left or right
Summary info
When this input is selected, a new pane will be created below the TPO chart. That pane will show additional data about each separate TPO calculation.

Use the dropdown input to customize:
- HL range: The range of the profile, i.e., the difference between its highest and lowest points
- VA range: The range of the value area
- VAH: The highest point of the value area
- VAL: The lowest point of the value area
- POC: Point of control of the TPO
- Total volume: The total volume for the whole period covered by this specific profile
- Total TPO: The total number of blocks in this profile
- TPO above POC: The total number of blocks in this profile above the point of control
- TPO below POC: Total number of blocks in this profile below the point of control
- Rotation factor: The coefficient of bars' rise and fall among the bars covered by the profile. The logic behind the rotation factor calculation can be read below
- IB high: The highest point of the initial balance range
- IB low: The lowest point of the initial balance range
- IB range: The initial balance range

Rotation factor
The rotation factor is the coefficient that shows how bars inside of a specific profile rise and fall. To do that, calculate the rotation factor for each bar of the "Block Size" timeframe, and then sum their rotation factors up.
A single bar can have a rating ranging from -2 to +2. To calculate it, compare the high of the current bar with the high of the previous bar:
- If the current bar has a higher high, assign a value of +1
- If it has a lower high, assign a value of -1
- If the highs are equal, assign a value of 0
Next, perform the same comparison for the lows of both bars. Finally, sum the values to obtain the rotation factor for the current bar.
On the screenshot below, you can see the resulting calculation on the TPO chart above, and the progressing calculation on the regular chart.

Splitting and merging profiles
You can split or merge individual profiles: this is especially useful when you need to look at specific areas of the graph at different levels of detail. To use this feature, right-click on the profile blocks and select the appropriate action from the context menu.

Multi-session profiles
When the Period parameter is set to 1 Day, TPO charts support multi-session profiles, allowing you to visualize separate TPO distributions for different parts of the trading day — such as pre-market, regular, post-market, and also fully custom sessions defined by the user.
Session selection
In the Session dropdown, you can choose one of the following presets:
- All — a single continuous session covering the entire session.
- Each — separate profiles for Pre-market, Market, and Post-market sessions.
- Pre-market only — builds the profile using only pre-market data.
- Market only — includes only regular trading hours.
- Post-market only — includes only post-market data.
- Custom — allows full manual control over session intervals.
When a non-custom preset is selected, profiles are generated automatically based on the predefined session boundaries for the instrument.
Custom sessions
To define your own session intervals:
- Select Session → Custom.
- Set the start and end times for the desired session (for example, 04:00-20:00). Please note that the time is specified in the chart’s Timezone setting.
- Click Add session to include additional intervals. You can add up to five custom sessions in total.
- Each defined interval will produce a separate TPO profile on the chart.

You can apply splitting and merging operations to the resulting custom TPO profiles to analyze specific periods in more detail
Overlapping sessions
If two or more custom session intervals overlap, the overlapping areas are automatically divided into separate sessions at their intersection points. Each resulting segment is displayed sequentially in historical order and generates its own TPO profile.
For example, to analyze the correlation of a cryptocurrency with NASDAQ trading hours:
- Set your chart timezone to New York.
- Define the first custom session as 04:00–20:00 (extended hours).
- Define the second custom session as 09:30–16:00 (regular hours).
This configuration produces three separate TPO profiles:
- 04:00–09:30
- 09:30–16:00
- 16:00–20:00
This allows you to easily compare market activity across different trading phases.
Out-of-range session times
If a custom session starts before market open or ends after market close for the instrument, the session boundaries are automatically adjusted to fit within the valid trading hours.This ensures that all TPO profiles only include actual traded data and prevents gaps in the visualization.
Also read: