The liquidity sentiment profile indicator splits tick volume by candle direction. Across `ProfileWindow` bars it adds up the volume from up bars and the volume from down bars. Both totals print as histograms. Their difference prints as a line. A bar that closes level splits its volume evenly.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Separate window (levels 0) |
| Plots | 4: Bull Volume, Bear Volume, Net Sentiment, Dominance Marker |
| Alerts | popup |
| Inputs | 4 |
What the Liquidity Sentiment Profile Indicator draws on the chart
Bull Volume is the lime histogram above the zero line.
Bear Volume is the red histogram drawn below it.
Net Sentiment is the dodger blue line carrying the smoothed difference.
Dominance Marker is a yellow dot that flags which side currently leads.
- Bull Volume: histogram, lime, width 3
- Bear Volume: histogram, red, width 3
- Net Sentiment: line, dodger blue, width 2
- Dominance Marker: arrow, yellow, width 2, arrow code 159

How the Liquidity Sentiment Profile Indicator calculates its values
Splitting the volume
The code walks `ProfileWindow` `200` bars. Each bar tick volume goes to the bull side or the bear side, based on open against close. A bar that finishes level gives half to each. BullBuf holds the running bull total, and BearBuf holds the bear total as a negative number.
Smoothing the net figure
netRaw takes the bull total minus the bear total. NetBuf then averages that over `SmoothPeriod` `5` bars. Smoothing matters here. Raw tick volume is noisy, and an unfiltered line would be hard to read.
Calling dominance
One side counts as dominant only when its total exceeds the other by two percent. That margin stops the marker flickering when the two totals sit almost level. `DominanceTextLabel` prefixes the on-chart label.
How to read the signals
Tick volume counts price changes, not traded contracts.
A rising blue line means bull volume is pulling ahead across the window.
The two histograms show the raw split the line is built from.
A dominance flip needs a two percent margin, so it lags a near-level reading.
Alert channels in this build: popup, one message per closed bar.
`AlertOnDominance` ships on and raises a terminal popup when the leading side changes. This build carries no push, email or sound channel. The guard permits one message per closed bar, so a flip cannot repeat within a bar.
Every Liquidity Sentiment Profile Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
ProfileWindow |
Look-back window (bars) for profile. Bars in the volume profile, default `200`. | 200 |
SmoothPeriod |
Smoothing period for net-sentiment line. Bars in the net sentiment smoothing, default `5`. | 5 |
Display settings
| Setting | What it does | Default |
|---|---|---|
DominanceTextLabel |
On-chart label prefix. Prefix on the chart label, default `LSP`. | LSP |
Alert settings
| Setting | What it does | Default |
|---|---|---|
AlertOnDominance |
Alert when dominance flips. Popup when dominance flips sides, default `true`. | on |

Settings that fit your chart
Tick volume is a broker-side figure, so it differs between feeds. EURUSD H1 is the reference chart, where `ProfileWindow` at `200` covers about eight days. On M5 the window is under a day and the split reacts quickly. On H4 the profile describes a month and moves slowly.
When the Liquidity Sentiment Profile Indicator fails
Tick volume is not real traded volume, and it varies between brokers on the same instrument.
Splitting a bar wholly to one side is crude, since both sides traded during it.
A running total across 200 bars changes slowly, so the line lags a genuine shift.
Copy the compiled Liquidity Sentiment Profile Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.
Download the Liquidity Sentiment Profile Indicator for MT4 and MT5
The zip holds the compiled Liquidity Sentiment Profile Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.
Download this indicator free
Enter your email and the file is yours. You also get the full MT4 and MT5 library.
FAQ
How does ProfileWindow at 200 split the volume?
It walks two hundred bars. Each bar tick volume joins the bull total or the bear total, based on where the close finished against the open. A level bar gives half to each side. Both totals then feed the two histograms.
Why does Net Sentiment need SmoothPeriod?
Because raw tick volume is noisy. Averaging the difference over `SmoothPeriod` `5` bars removes most of the jitter. What is left is a line you can read. Lengthen it for a calmer line, at some cost in speed.
What triggers the Dominance Marker?
One side leading the other by more than two percent of its total. That margin exists so the yellow dot does not flicker every bar when the two totals sit close together. `AlertOnDominance` fires on the same test.
Is tick volume the same as real volume?
No. Tick volume counts price updates, not contracts traded. It also varies between brokers on the same instrument. It tracks activity well enough to be useful, but it is a proxy and worth treating as one.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Liquidity Sentiment Profile Indicator as one input. Always backtest before trading live.
Category: this is part of our Smart Money collection. Also, browse more Smart Money for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- Learn more about the underlying method in Market sentiment on Wikipedia.
- For wider market background, see Decisionpoint Sentiment Indicators at StockCharts ChartSchool.
