Session TPO Market Profile

Apr 23, 2022

Static chart image
Price Action Based
Support and Resistance
Volume Based
Time Based
Liquidity
Pivot Based (Retrospective)

The Session TPO Market Profile indicator provides a comprehensive Time Price Opportunity (TPO) analysis tool designed to identify market value and distribution throughout a specific trading session. This tool helps traders visualize price action as a Gaussian distribution to pinpoint Point of Control (POC), Value Areas, and market inefficiencies like single prints.

Usage

The Usage section focuses on interpreting the TPO distribution to understand where the market has spent the most time and volume. By default, the script is optimized for the 30-minute timeframe, which is the standard for Market Profile analysis, though it can be adapted for lower timeframes like 15, 10, or 5 minutes by adjusting the tick size and session settings.

Key features include:

  • Point of Control (POC): The price level where the most activity occurred during the session.
  • Value Area (VA): The price range representing a specific percentage (typically 68-70%) of the session's activity.
  • Single Prints: Identifies areas where price moved rapidly through a level with only a single TPO, often indicating a lack of liquidity or strong directional conviction.
  • Initial Balance (IB): Highlights the range of the first two periods of the session, providing a benchmark for the rest of the day's price action.

The indicator draws the profile once the session is complete. Users can choose to display the profile as traditional TPO letters or as modern histogram bars.

Details

Market Profile is an intraday charting technique that displays price on the vertical axis against time/activity on the horizontal axis. Developed by J. Peter Steidlmayer, this methodology aims to evaluate market value as it develops. The resulting graphic generally forms a bell shape where "fatter" sections indicate high activity (value) and trailing edges represent diminished activity at extreme prices.

This implementation calculates the distribution based on a user-defined session. It automatically determines the session High/Low and segments the vertical price range into "boxes" based on the tick size. If the price occupies a specific tick range during a specific time segment, a TPO is recorded.

Settings

Session Configuration

  • Session calculation: Defines the specific hours used to calculate the Market Profile.

Global Options

  • Ticks number per tpo: Determines the vertical height of each TPO row.
  • Round TPO levels on Tick number: When enabled, price levels are rounded to the nearest tick increment.
  • TPO letters size: Adjusts the size of the characters used in the TPO profile (Tiny, Small, Normal).
  • Display TPO as bars: Switches the visual style from letters to solid histogram blocks.
  • Extend yesterday's levels: Projects the previous session's VAH, VAL, and POC into the current session.
  • Show Market Profile calculation area background: Toggles a background highlight for the value area.
  • Show TPO's: Toggles the visibility of the TPO distribution letters or bars.

Highs & Lows

  • Show high/low levels: Displays lines at the absolute highest and lowest prices of the session.

POC Options

  • POC color: Sets the color for the Point of Control.
  • Show POC as line: Toggles a horizontal line representing the POC.

IB (Initial Balance)

  • Show Initial Balance: Toggles a vertical line representing the price range of the initial session period.

Value Area Options

  • Value area lines color: Sets the color for VAH (Value Area High) and VAL (Value Area Low).
  • Show value areas as lines: Toggles horizontal lines for the Value Area boundaries.
  • Value area percent: Determines the percentage of TPOs used to calculate the Value Area (default is 68%).

Single Prints

  • Highlight Single prints: Identifies and highlights rows containing only one TPO.
  • Extend single prints: Projects single print levels forward for future reference.

Open/Close

  • Opening price color: Sets the color for the session open marker.
  • Closing price color: Sets the color for the session close marker.

FAQ

How do I interpret the Single Prints? Single prints represent areas of the market where price moved very quickly. These often act as support or resistance zones when price returns to them in future sessions.

Why does the profile only appear after the session ends? The script is designed to process the full session data to accurately calculate the Gaussian distribution, Value Area, and POC before rendering the final visual profile.

How can I access this tool? You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.

Free access on the following platforms
tradingviewSymbolTradingView
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

ninjatraderNinjaTrader
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

metatrader4MetaTrader 4/5
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

thinkorswimThinkorswim
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

Trading & investing are risky and many will lose money in connection with trading and investing activities. All content on this site is not intended to, and should not be, construed as financial advice. Decisions to buy, sell, hold or trade in securities, commodities and other investments involve risk and are best made based on the advice of qualified financial professionals. Past performance does not guarantee future results.

Hypothetical or Simulated performance results have certain limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not been executed, the results may have under-or-over compensated for the impact, if any, of certain market factors, including, but not limited to, lack of liquidity. Simulated trading programs in general are designed with the benefit of hindsight, and are based on historical information. No representation is being made that any account will or is likely to achieve profit or losses similar to those shown.

Testimonials appearing on this website may not be representative of other clients or customers and is not a guarantee of future performance or success.

As a provider of technical analysis tools and strategies, we do not have access to the personal trading accounts or brokerage statements of our customers. As a result, we have no reason to believe our customers perform better or worse than traders as a whole based on any content, tool, or platform feature we provide.

Charts used on this site are by TradingView in which the majority of our technical indicators are built on. TradingView® is a registered trademark of TradingView, Inc. www.TradingView.com TradingView® has no affiliation with the owner, developer, or provider of the Services described herein.

Market data is provided by CBOE, CME Group, BarChart, Massive, CoinAPI. Select U.S. equities data is provided through Massive. CBOE BZX real-time U.S. equities data is licensed from CBOE and provided through BarChart. Real-time futures data is licensed from CME Group and provided through BarChart. Select cryptocurrency data, including major coins, is provided through CoinAPI. All data is provided “as is” and should be verified independently for trading purposes.

This does not represent our full Disclaimer. Please read our full disclaimer.

© 2026 LuxAlgo Global, LLC.