Market Profile

Market Profile

The Market Profile Indicator brings professional‑grade market analysis directly into MetaTrader. Originally developed as a way for traders to understand market structure without being on the trading floor, Market Profile organizes price and time into a clear, visual format.

With customizable histograms, session views, and advanced calculations like Point of Control (POC) and Value Area (VA), this tool helps traders identify support‑resistance zones, track intraday balance, and visualize order flow.

Category : Technical Indicators
Version : 4.2
Updated : 2026-05-25

Key Features

  • Advanced calculations like Point of Control (POC), Value Area (VA), and Initial Balance (IB)
  • Special market elements such as Single Prints, Poors, and Trails
  • Multiple views — including session‑based, daily, weekly, and monthly profiles
  • Pre‑built templates and easy setup options for beginners
  • Customizable histogram shapes (letters, boxes, or ASCII symbols) and flexible color modes (single, random, or gradient), allowing for personalized chart design.
  • Buffers for programmers make all profile specifications accessible

Description

Market Profile is an advanced intra‑day charting technique that organizes market data into a clear structure:

  • Price on the vertical axis
  • Time and activity on the horizontal axis

This method was pioneered in the 1980s by J. Peter Steidlmayer at the Chicago Board of Trade. It gave traders a way to visualize where the market spends most of its time and volume, revealing balance zones, value areas, and breakout levels.

Unlike traditional candlestick charts, Market Profile shows the distribution of trading activity across price levels, helping traders see the “auction process” of the market. Whether you’re a beginner seeking clarity or a professional managing risk, Market Profile transforms raw data into actionable insights.

  • Market Profile gives you the precision tools to simplify complex data and make smarter trading decisions. Start today and unlock a clearer view of the markets.
  • Don’t just watch the market — understand its structure and act decisively using Market Profile Indicator.

See similar products also:

Settings and Manual:

General Settings

mt4 mt5 market profile settings general

Visual Modes: Simple, Enhanced, Enhanced- Connected

Histogram Type: Session, Daily, Weekly, Monthly

Precision Type: Auto, Manual

Histogram Settings

mt4 mt5 market profile settings histogram

Histogram Type: Letters, Boxes, or Custom ASCII

Color Mode for Enhanced Histograms: Single, Random, Gradient

Settings for Poor, Single Prints, Trails are available also. For more details, scroll down to view the next section.

Bounding Box Settings

mt4 mt5 market profile settings bounding box

These are adjustment settings of bounding boxes of profiles.

VA Settings

mt4 mt5 market profile settings value area

Configure Value Area percentage and settings. For more details, scroll down to view the next section.

POC Settings

mt4 mt5 market profile settings point of control

Adjust Point of Control display. For more details, scroll down to view the next section.

IB Settings

mt4 mt5 market profile settings initial balance

Define Initial Balance range. For more details, scroll down to view the next section.

Sample Settings and Templates:

For user guidance and beginner support, we’ve included a collection of sample settings. These are available as downloadable .set files, which can be applied instantly by loading them into the indicator’s settings window. The outcomes of these templates are showcased in the Screenshots tab for easy preview. You can download a ZIP package containing all of these pre‑made settings in one place.

About Market Profile:

Introduction:

Market Profile is a professional charting technique that organizes market activity into a structured format, showing price on the vertical axis and time/activity on the horizontal axis. Developed in the 1980s by J. Peter Steidlmayer at the Chicago Board of Trade, it was designed to help traders understand the auction process of the market without needing to be physically present on the trading floor.

Unlike traditional candlestick charts, Market Profile reveals how much time and volume the market spends at each price level. This distribution highlights value areas, balance zones, and breakout levels, giving traders a clearer picture of market sentiment and structure.

Usage Scenarios:

  • Intraday Traders: Use session profiles to track Asia, London, and New York activity.
  • Swing Traders: Apply weekly or monthly profiles to identify long‑term balance zones.
  • Breakout Traders: Watch IB and Poors for potential breakout opportunities.
  • Institutional Style: Replicate auction market theory for deeper market understanding.

Value Area (VA):

  • The Value Area represents the price range where approximately 70% of trading activity occurs during a session.
  • It shows where the market is most comfortable and balanced.
  • Usage: Traders use VA to identify potential support and resistance zones. If price moves outside VA, it often signals imbalance and possible trend continuation.

Point of Control (POC):

  • The POC is the single price level with the highest traded activity (most time or volume).
  • It acts as the “fair price” where buyers and sellers agree most.
  • Usage: POC often becomes a magnet for price action. Markets tend to revisit POC levels, making them key reference points for entries and exits.

Initial Balance (IB):

  • The IB is the range established during the first hour of trading (two 30‑minute periods in Market Profile).
  • It sets the tone for the day, showing early conviction between buyers and sellers.
  • Usage:
    • Narrow IB → suggests balance and low volatility.
    • Wide IB → indicates strong conviction and potential trend day.
    • Breakouts beyond IB often signal directional moves.

Poors (Poor Highs & Poor Lows):

  • Poor High: Occurs when the market makes a high but fails to show excess (no strong rejection). Price revisits the same high across multiple periods.
  • Poor Low: The opposite — a weak bottom where price revisits the same low without strong rejection.
  • Usage: Poors are considered unfinished business. The market often returns to these levels later to “repair” them, making them short‑term reference points.

Single Prints:

  • Single Prints are thin areas in the profile where only one TPO (time‑price opportunity) occurs.
  • They represent low volume zones created during fast directional moves.
  • Usage: Single Prints often act as support/resistance markers. If revisited, they may fill in, showing balance restoration.

Trails:

  • Trails are extended ranges in the profile that show where price has moved beyond balance.
  • They highlight trend continuation zones where the market pushes outside the Value Area.
  • Usage: Trails help traders spot developing trends and areas where momentum is strong.

Buffers for Developers:

Developers can integrate the available buffers into custom dashboards, indicators, or Expert Advisors. The following table lists the buffer numbers along with their corresponding contents.

Buffer Index Shift Value Description
0 0 ~ n-1 Value Area Low
1 0 ~ n-1 Value Area High
2 0 ~ n-1 Point of Control
3 0 ~ n-1 Profile Low
4 0 ~ n-1 Profile High
 5 0 ~ n-1  Profile Open
 6 0 ~ n-1  Profile Close
 7 0 ~ n-1  Initial Balance Low
 8 0 ~ n-1  Initial Balance Low
 9 0 ~ n-1  Number of Rows on Profile
 10 0 ~ n-1  Start Time of Profile
 11 0 ~ n-1  End Time of Profile
12 0 ~ m-1 Price Arrays of Latest Profile
13 0 ~ m-1  Values of Latest Profile

Notes :
n = Total number of profiles (corresponds to the number of histograms defined in the inputs).
m = Number of rows in the most recent profile (corresponds to Buffer No. 9).
Profile specifications are accessible for all profiles. However, detailed data — such as price arrays and values at each price level — is available only for the latest profile

Examples and Code Snippets:

Calling Profile Specifications for index=n (MT4)
VAL=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,0,n);
VAH=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,1,n);
POC=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,2,n);
HistoLow=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,3,n);
HistoHigh=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,4,n);
HistoOpen=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,5,n);
HistoClose=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,6,n);
HistoIBL=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,7,n);
HistoIBH=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,8,n);
m=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,9,n);
StartTime=(datetime)iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,10,n);

EndTime=(datetime)iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,11,n);
Calling Latest Profile Values (MT4)
m=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,9,0);

for( i=0; i<m; i++)
{
    Price[i]=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,12,i);
    Value[i]=iCustom(Symbol(),Period(),"Market Profile MT4",.....inputs......,13,i);
}
Calling Profile Specifications (MT5)
int handleMP=iCustom(Symbol(),Period(),"Market Profile MT5",.....inputs......);
if( handleMP==INVALID_HANDLE ) Print("Invalid Handle for Indicator. Err : ",GetLastError());

int nbuf;

nbuf=CopyBuffer(handleMP,0,0,n,VAL);           if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,1,0,n,VAH);           if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,2,0,n,POC);           if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,3,0,n,HistoLow);      if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,4,0,n,HistoHigh);     if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,5,0,n,HistoOpen);     if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,6,0,n,HistoClose);    if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,7,0,n,HistoIBL);      if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,8,0,n,HistoIBH);      if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,9,0,n,m);             if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,10,0,n,StartTime);    if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
nbuf=CopyBuffer(handleMP,11,0,n,EndTime);      if( nbuf!=n ) Print("Copy Buffer Err : ",GetLastError());
Calling Latest Profile Values (MT5)
int handleMP=iCustom(Symbol(),Period(),"Market Profile MT5",.....inputs......);
if( handleMP==INVALID_HANDLE ) Print("Invalid Handle for Indicator. Err : ",GetLastError());

int nbuf;

nbuf=CopyBuffer(handleTPO,9,0,1,mbuf);         if( nbuf!=1 ) Print("Copy Buffer Err : ",GetLastError());

m=mbuf[0];

nbuf=CopyBuffer(handleMP,12,0,m,Price);      if( nbuf!=m ) Print("Copy Buffer Err : ",GetLastError());

nbuf=CopyBuffer(handleMP,13,0,m,Value);      if( nbuf!=m ) Print("Copy Buffer Err : ",GetLastError()); 

Need Help?

Here are some helpful resources. If you have questions or need assistance, feel free to contact us. You can submit a support ticket or leave a comment. we’ll respond as quickly as possible.

Screenshots

Pricing

New Offer Every 6 Hours up to 50%. Follow.

Testing is free. How to do?

6 Months

6 Months of unlimited use

3 Accounts Activation

Full Support

Free Updates

$ 30.00

1 Year

1 Year of unlimited use

4 Accounts Activation

Full Support

Free Updates

$ 45.00

Lifetime

Unlimited use, forever

5 Accounts Activation

VIP Support

Free Updates

$ 60.00

Comments

4.8 103 votes
Product Rating
26 Comments
Newest
Oldest
checkvol1
checkvol1
Member
June 24, 2026 2:03 am

Can Market Profile help me understand institutional activity?

iceblocks
iceblocks
Member
June 19, 2026 3:04 am

I’ve doubled my confidence in entries since using Market Profile.

vincecongdon
vincecongdon
Member
April 29, 2026 7:08 am

Perfect. Using this indicator we can visualize algorithmic signals directly on the profile.

loobx
loobx
Member
April 10, 2026 10:09 am

A good indicator. I like it.

noinid
noinid
Member
April 2, 2026 5:11 am

The buffers for programmers let me integrate Market Profile into my automated systems.

genk0
genk0
Member
March 11, 2026 3:58 pm

I’ve traded for years, but this indicator makes session analysis effortless.

mmd_timsar
mmd_timsar
Member
March 8, 2026 8:29 am

How can I adjust the settings to display the result same as attached screenshots? Can everyone share me the settings?

Karim_Saidi
Karim_Saidi
Member
March 3, 2026 7:52 am

The gradient color option makes the profiles look professional.

cosmicvoyager982
cosmicvoyager982
Member
February 24, 2026 12:35 pm

Can I use Market Profile for swing trading, or is it only for intraday?

yc583429
yc583429
Member
February 19, 2026 7:42 am

Does Market Profile work on all instruments?

bing.xie1977
bing.xie1977
Member
February 18, 2026 9:47 am

I’ve stopped guessing support zones. Market Profile highlights them clearly. Thanks for the product.

samantaheri
samantaheri
Member
February 17, 2026 1:21 pm

As a developer, I appreciate how Market Profile exposes buffers for programmers. I’ve integrated profile data into my automated strategies, and the results are impressive. I can calculate custom metrics beyond the built‑in ones, and the ASCII histogram shapes let me design unique chart styles. Market Profile bridges the gap between coding and trading, giving me both flexibility and precision.

daggerdirk
daggerdirk
Member
February 16, 2026 7:33 pm

I use the ASCII option to create custom visual markers. It is a perfect visual view.

aati82
aati82
Member
February 10, 2026 6:29 pm

Market Profile taught me to see the market as an auction. The Initial Balance shows me the day’s tone, the Value Area highlights where most trading occurs, and Poors remind me of unfinished business. These concepts used to be abstract, but now they’re visual and actionable. My trading has become more structured, and I finally feel like I’m trading with the market instead of against it.

krshna
krshna
Member
February 8, 2026 7:34 pm

The screenshots helped me understand how profiles look. Very beginner friendly.

sunmobile
sunmobile
Member
February 7, 2026 6:49 am

Market Profile is the closest thing to floor trader analysis I’ve seen in MetaTrader.

korou30
korou30
Member
February 2, 2026 6:36 am

I combine Market Profile with moving averages. It is powerful setup. I recommend it.

davidfortin558
davidfortin558
Member
January 31, 2026 3:01 pm

Hi, I didn’t realize how often price revisits Poors until I saw them highlighted.

kimdaeneung
kimdaeneung
Member
January 27, 2026 8:00 pm

Market Profile finally gives me the clarity I needed to see balance zones in real time.