BM TPO

BM TPO

$175.00
Skip to product information
BM TPO

BM TPO

$175.00

BMTPO
CATEGORY: Indicator · For NinjaTrader 8 · TPO / Market Profile

HOW IT WORKS: A complete TPO (Time Price Opportunity) profile, calculated per session with a configurable period (30 minutes being the classic standard), displayed in block or letter format. It includes the Point of Control (POC), 70% Value Area (standard expansion from the POC), VAH/VAL with extensions from the previous session, Initial Balance range, single prints, poor high/poor low, "naked" POC with cross-session tracking, composite profiles for the last N sessions, period-split mode (rotations), high and low volume zones (LVN/HVN), and an automatic day-type classifier.

Differentiating features:

TPO cells colored based on the actual executed delta at each price level—a feature no one else offers for NinjaTrader 8 without the Order Flow+ license. While the classic TPO only indicates where the market spent time, this version also reveals who controlled that level during that time (aggressive buyers or sellers); this is calculated using a proprietary delta engine that accumulates data tick-by-tick for each price row, rather than merely approximating the distribution based on the bar's total volume.
Single print definition corrected to fix an error in the previous version. The correct Market Profile definition (Steidlmayer/Dalton) requires a single print to be enclosed by rows containing two or more TPOs on both sides; a "tail" at the profile's extreme is not a single print—it is something else entirely. The previous version only excluded the exact row at the extreme, meaning a multi-row tail was almost always flagged as a single print, appearing in virtually every session. Correction: the indicator now requires the sequence to be enclosed on both sides before counting it.
Single prints and poor high/poor low levels are confirmed only when appropriate, not beforehand. While a session is in progress, almost any recent row containing a single letter appears that way simply due to a lack of time—not because it represents a genuine rapid-auction zone; the indicator waits for a subsequent period to open without filling that row before confirming it as a "single." For the same reason, "poor high/low" conditions are only evaluated on completed sessions.
Automatic day-type classifier: compares the range extension beyond the Initial Balance (IB) against the IB itself to label each session as a trend, neutral, normal, or normal variation day—eliminating the need for manual visual assessment.
Session boundaries editable directly on the chart via context menu and keyboard shortcuts: merge two profiles, split one in two with a single click, toggle between collapsed and period-based views, or switch between regular and extended sessions. Includes an "undo" function, and—unlike a previously fixed bug—manual merges and splits now persist when reloading the chart instead of being lost.
Architecture specifically designed to prevent chart lag: 100% SharpDX rendering (avoiding NinjaTrader’s standard drawing functions, which degrade performance with TPO profiles), incremental bar-by-bar calculation, freezing completed sessions to avoid recalculation, and rendering only what is visible on screen—all designed to handle extensive historical data without slowing down the chart.

FOR WHOM: Traders using Market Profile/TPO who want to see which side controlled each price level (buyers or sellers)—in addition to the classic profile structure—without purchasing the Order Flow+ license. Ideal for those who value a profile that applies the correct definitions for "single prints" and "poor high/lows" rather than a simplified approximation.

TECHNICAL REQUIREMENTS: NinjaTrader 8. Any instrument with available tick data (required for delta-based coloring; the rest of the profile functions using standard intraday data).

You may also like