Developing Market Profile / TPO

Jul 3, 2023

Static chart image
Volume Based
Liquidity

The Developing Market Profile / TPO indicator provides a dynamic perspective on price-time distribution by calculating market profiles on a rolling basis. Unlike traditional session-based profiles, this tool updates bar-by-bar to show how market value develops over a user-defined lookback period, allowing traders to observe the evolution of high-activity zones in real-time.

Usage

The Usage section highlights how the indicator helps distinguish changing market behavior. By analyzing the current profile alongside historical development data, traders can identify whether the market is in a balanced state (bell shape) or trending.

  • Real-time Profiling: Use the box-based histogram on the right side of the chart to identify current areas of high and low activity.
  • Historical Development: The "Profile History" feature uses characters on each bar to represent the state of the profile at that specific point in time. This allows for backtesting and studying how price reacted to previous value areas as they were forming.
  • Trend Identification: A shifting Point of Control (POC) or a migrating value area can signal the start of a new trend or the exhaustion of an old one.

Details

The script functions similarly to a moving average but for price distribution. For every bar, it scans a specific lookback range and segments the price action into horizontal zones (resolution).

  • Occurrence Calculation: It loops through the specified lookback and counts how many times price intersected each zone. These counts are stored in an array to determine the width of the profile columns.
  • Color Grading: The indicator identifies the zone with the most activity (the longest column) and assigns it a primary color. All other columns are colored based on their percentage relative to the maximum occurrence, providing a heat-map effect.
  • Optimization: Because calculating a full profile for every single bar is resource-intensive, the script includes a "Calculate from here" time filter to limit the processing load to a specific starting point.

Settings

Market Profiling

  • Lookback: Defines the number of historical bars used to calculate the current profile.
  • Resolution: Sets the number of price rows/columns in the profile (limited to 32 for performance).

Visual Settings

  • Profile Distance From Chart: Offsets the current profile boxes from the latest candle.
  • Border width (MP): Adjusts the thickness of the profile box outlines.
  • Character: Sets the symbol used for historical profile plotting.
  • Color Theme: Allows customization of the five colors used for different percentage rankings.
  • Percentage Tiers: Sets the thresholds (defaulting to 20, 40, 60, 80) for color transitions.
  • Show Market Profile: Toggles the display of the current profile boxes.
  • Show Profile History: Toggles the display of the historical heat-map characters.

Optimisation and Debugging

  • Calculate from here: A timestamp setting to determine where the script begins its heavy calculations.
  • Minimum size of histogram: Filters out very small occurrences to prevent visual artifacts or "noise" in the profile.

FAQ

How do I use this to find the Point of Control (POC)? The POC is represented by the longest column in the current profile, typically colored with the first color in your theme (e.g., Red). The script also includes built-in alerts for price crossing this level.

Why does the script only start at a certain date? Due to the complexity of calculating rolling profiles, the "Calculate from here" setting is used to ensure the script stays within TradingView's execution limits while providing historical data where it matters most.

How can I access Developing Market Profile / TPO? 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.