Money Flow Index (MFI)
The Money Flow Index combines price and volume into a 0 to 100 oscillator. Learn the MFI formula, overbought and oversold levels, divergence and how to use it.
The Money Flow Index (MFI) is a momentum oscillator that combines price and volume. It works much like the RSI, but instead of comparing only price gains and losses, it compares the money flowing in on up days with the money flowing out on down days. Because volume is included, MFI is sometimes called the volume weighted RSI. It moves between 0 and 100 and is used to spot overbought and oversold conditions and divergence.
How MFI is calculated#
Typical price = (High + Low + Close) ÷ 3
Raw money flow = Typical price × Volume
Money ratio = Positive money flow ÷ Negative money flow (over 14 periods)
MFI = 100 − 100 ÷ (1 + Money ratio)
A period's money flow counts as positive when its typical price is higher than the previous period's, and negative when it is lower. The standard lookback is 14 periods.
Reading MFI levels#
| MFI | Common interpretation |
|---|---|
| Above 80 | Overbought: heavy buying volume relative to selling |
| 20 to 80 | Normal range |
| Below 20 | Oversold: heavy selling volume relative to buying |
| Above 90 or below 10 | Extreme readings |
The 80 and 20 levels are more common for MFI than RSI's 70 and 30, because volume can push MFI to extremes more easily.
Main signals#
- Overbought and oversold in ranges: MFI below 20 that turns up near support can signal a bounce; above 80 that turns down near resistance can signal a pullback. As with all oscillators, extremes can persist in strong trends.
- Divergence: price makes a new high while MFI makes a lower high (bearish), or a new low while MFI makes a higher low (bullish). Because MFI includes volume, its divergences show both weakening momentum and weakening participation. See Volume Divergence.
- Failure swings: MFI rises above 80, falls back, fails to exceed 80 on the next rally and then breaks its recent low, a bearish sign. The reverse applies at the bottom.
MFI vs RSI#
| MFI | RSI | |
|---|---|---|
| Inputs | Price and volume | Price only |
| Common levels | 80 and 20 | 70 and 30 |
| Strength | Reflects participation as well as momentum | Smoother, widely used |
| Weakness | Distorted by volume spikes | Ignores volume |
When RSI and MFI disagree, it can be informative: a rally with high RSI but modest MFI suggests price is rising without strong volume behind it. See RSI (Relative Strength Index).
Using MFI in practice#
- In ranges: fade extremes near support and resistance with confirmation.
- In trends: use dips of MFI towards 20 to 40 in uptrends as pullback entry zones, ignoring overbought readings.
- With structure: treat MFI signals as confirmation of setups based on price levels and trend, not as standalone triggers.
Choosing the lookback#
The default 14 periods suits most daily charts. Shorter lookbacks, such as 7 or 10, react faster and reach extremes more often, which suits short term traders but adds noise. Longer lookbacks smooth the line and give fewer, slower signals. Whatever you choose, keep it consistent so readings mean the same thing across your journal.
Limitations#
- Volume quality: spot forex volume is not real exchange volume; crypto volume varies by exchange.
- Volume spikes: one extreme volume day can dominate the 14 period window.
- Trend persistence: overbought and oversold signals fail often in strong trends.
Common mistakes#
- Selling every reading above 80 in a strong uptrend.
- Ignoring how volume spikes distort the reading.
- Using MFI on markets without reliable volume.
Frequently asked questions#
What is the Money Flow Index?#
A momentum oscillator from 0 to 100 that uses both price and volume to measure buying and selling pressure.
What are overbought and oversold levels for MFI?#
Above 80 is commonly considered overbought and below 20 oversold.
How is MFI different from RSI?#
MFI includes volume in its calculation; RSI uses only price changes.
Sources#
- Wikipedia, Money flow index
3 quick questions on this lesson. Get them all right to finish it.
Turn on JavaScript to take the quiz.