Loading…

Market Profile TPO

Market Profile, developed by J. Peter Steidlmayer, asks a different question than a volume profile. A volume profile asks "how much was traded at each price"; TPO asks "how much TIME was spent at each price". This indicator splits the current session into fixed-length periods (InpTpoMinutes each, lettered A, B, C and onward), and for every period it marks each price level that period's bars actually touched with that period's letter. Stack enough periods and the letters build the familiar Market Profile outline - wide where price spent many periods, narrow where it passed through quickly - without needing any volume figure at all. The row carrying the most distinct letters is the session's TPO point of control: not the price with the most volume, but the price the market spent the most separate time periods at, which is a genuinely different measure and can sit at a different level than a volume POC on the same session. It is marked separately and labelled. The one honest limit worth stating plainly: MQL4 exposes each bar's high and low, not a tick-by-tick path through the bar, so a TPO period shorter than the chart's own bar size cannot be reconstructed - see Notes And Limitations. Notes and limitations - A TPO period cannot be finer than the chart's own bar size. Attach this to an M30 or faster chart to get genuine 30-minute periods; on an H1 or slower chart, each underlying bar becomes one TPO period instead, which is coarser than the traditional definition and is worth knowing before comparing the shape to a tick-based platform's Market Profile. - The letter grid for the currently forming period updates once that bar closes, not tick by tick - a confirmation delay of at most one bar, kept deliberately to avoid rebuilding the whole session's grid on every price update. - Tracks up to 40 distinct price rows and 48 TPO periods per session; a session wider or longer than that in a single day is clipped rather than silently corrupted, and the caps are generous enough for ordinary use at the default settings. - Resets at every new calendar day (broker/server time) - it shows only the current session, not a multi-day history of profiles. - Built from the session's own bar highs and lows, which are genuinely available data, not an approximation standing in for missing tick history.

Indicator · MT4 · v1.0 · Free

About Market Profile TPO

Market Profile TPO is an indicator for MetaTrader 4. It can alert you with a pop-up, sound, email or push message. It has 6 settings, such as Tpo minutes, Price step pips and Font size. MQL source code included.

Files in the download: MarketProfile.ex4, MarketProfile.mq4, MarketProfile.txt.

Settings

SettingDefaultWhat it does
Tpo minutes30Target length of one TPO period, in minutes
Price step pips5.0Bucket width, in pips, each TPO row represents
Font size8Letter font size
Letter colorclrSilverOrdinary TPO letter colour
Poc colorclrOrangePoint-of-control row colour
AlertstrueAlert once when the session POC changes on a closed bar

How to install

  1. Download the ZIP from your PolyMaria library and unzip it.
  2. In MetaTrader 4 open File → Open Data Folder, then go to MQL4 → Indicators.
  3. Copy the .mq4 file(s) there. Put any .mqh files in MQL4 → Include.
  4. Open the .mq4 file in MetaEditor and press Compile (F7) if MetaTrader does not show it.
  5. Drag the indicator from the Navigator onto a chart and adjust the settings.

Download the PDF guide

Tags: Volume · Trading Sessions · Alerts · MT4 Indicator · MQL4 Source Code

MetaTrader 4 & 5 indicators · PolyMaria