A bounded momentum oscillator that's essentially RSI weighted by volume. Computed on a 0-100 scale, MFI fires the same overbought/oversold signals as RSI — but with volume confirmation built in. The volume backing means MFI's extreme readings are higher-conviction than RSI's. Developed by Gene Quong and Avrum Soudack in 1989.
MFI(14) on MES daily — oversold-to-overbought cycle
What it measures
- Volume-weighted momentum. Same overbought/oversold reading as RSI, but each bar's contribution is weighted by traded volume.
- Conviction-adjusted extremes. MFI > 80 means "price is overbought AND volume confirms that buyers were the ones pushing it." Stronger signal than RSI > 70.
- Money flow ratio. The internal ratio of positive money flow to negative money flow is exposed as a separate output.
Formula
How AlgoLift computes it
For each bar:
Typical Price = (High + Low + Close) / 3
Money Flow = Typical Price × Volume
If TypicalPrice[t] > TypicalPrice[t-1]: Positive MF[t] = Money Flow[t]
If TypicalPrice[t] < TypicalPrice[t-1]: Negative MF[t] = Money Flow[t]
Over the lookback period:
Money Flow Ratio = sum(Positive MF) / sum(Negative MF)
MFI = 100 − (100 / (1 + Money Flow Ratio))
The structure mirrors RSI exactly — both use a positive/negative split followed by the 100 − 100/(1+ratio) normalization. The only difference is that RSI uses raw price changes while MFI uses price × volume. When volume is roughly constant per bar, MFI and RSI produce similar readings; when volume varies sharply, they diverge.
Inputs in AlgoLift
| Setting | Default | Range | Notes |
|---|---|---|---|
| Period | 14 | 2–500 | Lookback for the positive/negative money flow sums. Same default as RSI. |
Recommended periods
- 9 (fast): Short-term — more frequent extreme readings.
- 14 (default): Standard. Same as RSI.
- 21–28: Slower — for swing setups.
Outputs in AlgoLift
| Handle | Type | Plotted | Notes |
|---|---|---|---|
| MFI Value | Numeric | Always | The Money Flow Index, 0-100. |
| Slope | Numeric | On select | Rate of change of MFI. |
| Money Flow Ratio | Numeric | On select | The raw ratio of positive to negative money flow — the calculation's intermediate value. |
MFI node — default state
How to read it
- MFI > 80: Overbought — buying flow has been dominant relative to selling flow over the lookback.
- MFI < 20: Oversold — selling flow dominating.
- MFI between 40 and 60: Neutral flow balance.
- MFI crossing 50: The midline cross — net flow direction has flipped.
- MFI divergence with price: Same interpretation as RSI divergence — but stronger because volume confirms.
The 80/20 thresholds (instead of RSI's 70/30) are conventional — MFI extremes are slightly more bounded because volume weighting reduces the impact of low-volume outlier bars.
MFI is RSI with volume confirmation baked in. Use it instead of RSI when you have a specific reason to want volume-aware momentum readings — typically on intraday equity strategies where volume meaningfully reflects institutional participation. On futures during RTH or on liquid stocks, MFI is often the slightly-better RSI.
Best in / worst in
Best in liquid equity instruments during RTH, where volume meaningfully tracks participation. Particularly useful for confirming RSI signals — when RSI and MFI agree on an extreme reading, the signal is unusually strong.
Worst in futures during off-hours, low-volume instruments, and 24/7 markets (crypto) where the volume input is structurally unreliable.
Three setups
MFI is bounded and primary-signal-capable enough to use the standard "Three setups" framing rather than the confirmation-pattern framing used for OBV/A/D/CMF.
1. Volume-confirmed extreme reversal
The textbook MFI entry, with a regime filter.
- Long: MFI < 20 (oversold AND volume-confirmed) AND MFI slope > 0 (turning back up) AND KAMA ER < 0.3 (range regime).
- Short: MFI > 80 AND slope < 0 AND ER < 0.3.
The KAMA ER filter is essential. In trending regimes, MFI can stay > 80 for many bars — fading those extremes loses money.
Volume-confirmed MFI mean-reversion
2. RSI/MFI confluence
Require RSI and MFI to agree on extreme conditions.
- Long: RSI < 30 AND MFI < 20.
- Short: RSI > 70 AND MFI > 80.
The volume confirmation from MFI filters out RSI extremes that lack participatory support — a common false-signal pattern.
3. MFI midline as a regime gate
Use the 50-line cross for direction bias.
- Long-only mode: MFI > 50 — strategy permitted to take longs only.
- Short-only mode: MFI < 50 — short entries only.
A simple no-tuning regime filter that incorporates volume.
Advanced patterns in AlgoLift
MFI for volume-aware position sizing. Scale position size by how decisive the MFI reading is: size = base × (1 − abs(MFI − 50) / 50). Smaller positions during extreme readings (50 - extreme = small size), larger during neutral conditions. Combined with extreme-reversion entries, this naturally takes smaller positions when the reversal probability is lower.
MFI divergence with BarsAgo Modifier. When price makes new highs but MFI doesn't, both price momentum AND volume conviction are fading. Stronger than pure RSI divergence — pair with a regime filter for high-quality reversal entries.
Money Flow Ratio for scale-in timing. The Money Flow Ratio output is the raw ratio behind MFI's calculation. When it crosses 1.0 from below in a long position (positive flow just became dominant), use Scaled Entry to add. The ratio crossing 1.0 confirms accumulation has flipped to active buying.
Multi-timeframe MFI agreement. Daily MFI as regime gate alongside 1h or 5m MFI for entry timing. Cross-timeframe agreement is the cleanest single filter for volume-momentum entries. See the multi-series Visual Builder pattern.
Common mistakes
- Treating MFI exactly like RSI. They behave similarly but differ in low-volume conditions. MFI's extremes can lag RSI's in light-volume periods because the volume weighting reduces the impact of small bars.
- Using on instruments where volume data is unreliable. Off-hours futures, low-cap crypto pairs, OTC markets — MFI's volume input becomes noise rather than signal. RSI is the better choice on these.
- Trading every extreme without regime context. Same trap as RSI — MFI > 80 in a strong trend often means the trend is healthy, not exhausted. Always check regime first.
- Confusing MFI with CMF. Both are Chaikin-school volume oscillators but: MFI uses typical price × volume on a 0-100 scale with RSI-style math; CMF uses CLV × volume on a ±1 scale with running-window math. Different signals.