Realtime TPO Market Profile
Sep 30, 2022

The TPO Market Profile indicator provides a real-time Time Price Opportunity (TPO) profile, visualizing market activity based on time spent at specific price levels. This tool is designed to work across various timeframes, from 1-second charts to monthly intervals, offering a comprehensive view of market structure and value areas.
Usage
The indicator can be used to identify key support and resistance zones through market profile analysis. It calculates profiles based on the selected chart timeframe and can be configured to reset at specific intervals or over a fixed range.
- Real-time Updates: TPO letters and distributions update dynamically as price moves and time elapses.
- Timeframe Flexibility: Works on any timeframe (1 second or greater). Users can set the profile to recalculate daily, weekly, monthly, or based on custom minute intervals.
- Initial Balance (IB): The indicator can display the Initial Balance range, typically representing the first period of trading, helping traders identify early market sentiment.
- Fixed Range Mode: Use the drag-and-drop time-start feature or input settings to define a specific starting point for a custom profile calculation.
- Value Area and POC: The tool automatically identifies the Point of Control (POC) and the Value Area (VAH/VAL), highlighting where 70% of the time was spent.
Details
TPO (Time Price Opportunity) charts differ from traditional volume profiles by focusing on time spent at price rather than traded volume. Each "letter" (or character) represents a specific time block. When multiple time blocks touch the same price, the profile expands horizontally.
This implementation uses an array-based system to manage characters and labels in real-time. To ensure legibility, the indicator transitions from alphabetic characters to numbered characters if a session exceeds the standard alphabet. The tick spread determines the vertical granularity of the profile; for volatile assets or higher timeframes, users should adjust the tick spread to ensure the profile fits comfortably on the chart.
Settings
Calculation Type
- Calculation Type: Choose between "Regular" (periodical reset), "Fixed Range" (starts from a specific date/time), or "Fixed Interval" (specific session hours).
Current Session Configurations
- Auto Calculate Tick Levels: Toggles between automatic tick range detection or a user-defined custom value.
- Ticks: Manually set the vertical spacing between TPO levels when "Custom" is selected.
- Show Tick Levels: Displays horizontal lines at each price increment.
- Text Size: Adjusts the size of the TPO characters on the chart.
- Show Initial Balance Range: Toggles the visibility of the IB range.
Time Intervals
- Recalculate After How Much Time: Defines the session length for "Regular" mode (e.g., 1D, 1W, 1M).
- Fixed Range Start: Sets the timestamp for the start of the manual profile.
- Time Range: Defines the specific hours for the "Fixed Interval" calculation.
Display & Colors
- Show Previous Sessions TPO: Displays historical profiles from previous intervals.
- Distance to Hide Old Lines: Percentage thresholds to hide historical POC/VA lines when price is far away to reduce chart clutter.
- Colors: Customizable colors for main characters, Single Prints (SP), POC, IB, and Value Areas.
FAQ
How do I adjust the profile if it looks too squashed or too tall? You can adjust the "Ticks" setting under the Current Session Configurations. Increasing the tick value will compress the profile vertically, while decreasing it will expand the profile.
Can I use this for Intraday and Swing trading? Yes. For intraday, set the recalculation to "D" (Daily). For swing trading, you can set the interval to "W" (Weekly) or "M" (Monthly) to see longer-term value areas.
How do I access the TPO Market Profile? You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.
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.

