Alexander Elder wanted one number combining direction, size and participation. The force index indicator multiplies each bar’s price change by its volume, so a large move on heavy volume scores far higher than the same move on thin trade. A thirteen bar average makes that readable.
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: Force Index EMA, Force Index Raw, Buy Signal, Sell Signal |
| Alerts | popup |
| Inputs | 4 |
What the Force Index Indicator draws on the chart
Two lines and a pair of marks below price.
`Force Index EMA` runs dodger blue at width 2.
`Force Index Raw` sits behind it in silver.
A lime arrow tags a crossing upward.
A red arrow tags one downward.
Zero runs flat across the middle of the pane.
- Force Index EMA: line, dodger blue, width 2
- Force Index Raw: line, silver, width 1
- Buy Signal: arrow, lime, width 3, arrow code 233
- Sell Signal: arrow, red, width 3, arrow code 234

How the Force Index Indicator calculates its values
One multiplication
That is the raw figure. This close less the previous close, times the bar’s tick volume. Direction comes from the subtraction and weight from the volume.
Smoothing it
The raw line is unusable alone. `InpEmaPeriod` `13` averages it, seeded with a simple average so the first values are real rather than zero.
Scaling the marks
Values here have no natural size. The code averages recent absolute readings and places arrows relative to that, so they stay visible on any symbol.
How to read the signals
Above zero means buyers did the work.
Below zero means sellers did.
A big spike is a move with volume behind it.
The silver raw line shows how noisy the figure really is.
Zero crossings on the smoothed line are the marked events.
Height cannot be compared between symbols.
Alert channels in this build: popup, one message per closed bar.
One control handles messages here. `InpAlertsOn` ships true, and `InpAlertPrefix` puts the tool’s name at the front of each line. Crossings go out on a closed bar, and the terminal is the only destination this build offers.
Every Force Index Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpEmaPeriod |
Force Index EMA Period. Bars in the smoothing, `13`. | 13 |
Display settings
| Setting | What it does | Default |
|---|---|---|
InpArrowOffset |
Arrow vertical offset multiplier. Mark spacing multiplier, `1.0`. | 1.0 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpAlertsOn |
Enable alerts on signals. Alert on a crossing, `true`. | on |
InpAlertPrefix |
Alert message prefix. Text at the start of a message, `”ForceIdx”`. | ForceIdx |

Settings that fit your chart
Tick volume behaves differently by session, which matters here. EURUSD H1 is the reference chart. The figure peaks around the London and New York opens. On M5 the raw line is very noisy. On daily bars each reading covers a whole session.
When the Force Index Indicator fails
Tick volume counts price changes, not contracts.
A thin session understates a genuine move.
The scale has no fixed range, so no absolute level exists.
Smoothing puts the crossing behind the move.
Copy the compiled Force Index 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 Force Index Indicator for MT4 and MT5
The zip holds the compiled Force Index 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
What feeds the Force Index Raw plot?
Each bar’s close less the previous close, multiplied by its tick volume. Direction comes from the subtraction and weight from the volume, so a large move on thin trade scores lower than the same move on heavy trade.
What does InpEmaPeriod 13 change?
How much of the raw noise survives. Thirteen bars is Elder’s own choice for the medium-term version; a two-bar average is the short-term one he used for entries, and it stays far closer to the raw line.
Why draw the Force Index Raw line at all?
For honesty about the input. The raw figure jumps hard on every bar, and seeing it behind the smoothed line makes clear how much averaging is doing the work in what you actually read.
Is the volume behind InpEmaPeriod real volume?
No, and on spot forex it cannot be. Tick volume counts price changes within a bar, which tracks activity closely enough to be useful for weighting but records no contracts changing hands.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Force Index Indicator as one input. Always backtest before trading live.
Category: this is part of our Signal and Forecast collection. Also, truly, browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Index cohesive force on Wikipedia.
- For broader market context, see Force Index at StockCharts ChartSchool.
