What it does
The Money Flow Index (MFI) is an oscillator from 0 to 100 that combines price and volume. It is often described as a volume-weighted version of the RSI. This indicator colours the MFI line red in the overbought zone and green in the oversold zone, and draws an arrow when MFI leaves either zone on a closed bar.
How it works
- Typical price = (high + low + close) / 3.
- Raw money flow = typical price x volume.
- Over the last N bars, money flow is positive when the typical price rose versus the previous bar and negative when it fell. Unchanged bars are ignored.
- Money ratio = positive flow / negative flow.
- MFI = 100 - 100 / (1 + money ratio). If there is no negative flow, MFI is 100 (or 50 if there is no flow at all).
- A buy arrow prints on the closed bar where MFI rises from at or below the oversold level to above it. A sell arrow prints where MFI falls from at or above the overbought level to below it.
Volume is tick volume by default; with real volume selected, any bar reporting zero real volume uses tick volume instead.
How to use it
Readings above 80 show that most recent money flow has been positive, and readings below 20 show the opposite. Being in a zone is not a reversal signal on its own; strong trends can keep MFI overbought or oversold for a long time. That is why the arrows wait for MFI to exit the zone, which shows that the one-sided flow has started to ease.
Many traders only take zone-exit arrows in the direction of the higher-timeframe trend, or combine them with support and resistance levels. Divergence between MFI and price at a new high or low is another common way to use it. H1 and H4 charts usually give cleaner signals than very low timeframes.
Settings
| Input | Default | What it changes |
|---|---|---|
| MFI period | 14 | Shorter periods react faster and reach the zones more often |
| Volume type | Tick volume | Source of the volume in the money flow |
| Overbought level | 80 | Upper zone boundary and sell-arrow trigger |
| Oversold level | 20 | Lower zone boundary and buy-arrow trigger |
| Popup alert / Push notification | false | Alerts once per bar on a new zone exit |
Limitations
- Zone exits can occur in the middle of a strong trend and be followed by a quick return to the zone.
- Tick volume in forex is a proxy, so MFI values vary between brokers.
- As an oscillator built on past bars, MFI lags price and cannot identify the exact turning point.
- The live bar's MFI value changes until the bar closes; arrows only use closed bars.

