TickAtlas
volume 10 min read Updated 2026-03-21

Money Flow Index (MFI)

MFI is a volume-weighted version of RSI. It measures buying and selling pressure using both price and volume, making it more comprehensive than RSI alone.

TL;DR

  • MFI is a volume indicator used in technical analysis
  • MFI > 80 is overbought; < 20 is oversold. Like RSI but volume-weighted, making divergence signals stronger.
  • Best timeframes: H1, H4, D1
  • Skip to API docs →

What is Money Flow Index?

MFI is a volume-weighted version of RSI. It measures buying and selling pressure using both price and volume, making it more comprehensive than RSI alone.

How MFI is Calculated

formula
Typical Price = (High + Low + Close) / 3
Raw Money Flow = TP × Volume
Money Flow Ratio = Positive MF / Negative MF
MFI = 100 - (100 / (1 + Money Flow Ratio))

Default period: 14

How to Interpret MFI

MFI > 80 is overbought; < 20 is oversold. Like RSI but volume-weighted, making divergence signals stronger.

Trading Strategies Using MFI

Strategy 1: MFI Overbought/Oversold

Trade reversals when MFI reaches extremes with volume confirmation.

Entry Rules

Buy when MFI crosses above 20. Sell when MFI crosses below 80.

Exit Rules

Exit at opposite extreme or when volume dries up.

Combining MFI with Other Indicators

MFI works best when combined with complementary indicators:

  • MFI + RSI: Combine for stronger confluence signals
  • MFI + OBV: Combine for stronger confluence signals
  • MFI + A/D Line: Combine for stronger confluence signals

MFI Across Different Timeframes

MFI works across all 7 timeframes but performs best on H1, H4, D1 for most trading styles.

H1 H4 D1

Learn about all 7 timeframes →

Accessing MFI via TickAtlas API

GET https://tickatlas.com/v1/indicator

Python Example

python
import requests

url = "https://tickatlas.com/v1/indicator"
headers = {"X-API-Key": "YOUR_API_KEY"}
params = {
  "symbol": "EURUSD",
  "indicator": "MFI_14",
  "timeframe": "H1"
}

response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)

Sample Response

200 OK
{
  "symbol": "EURUSD",
  "indicator": "MFI_14",
  "timeframe": "H1",
  "timestamp": "2026-03-21T14:00:00Z",
  "value": 1234567,
  "signal": "neutral"
}

Common Mistakes to Avoid

  1. 1

    Treating MFI identically to RSI — the volume component makes it behave differently

  2. 2

    Ignoring MFI when volume is abnormally low

Frequently Asked Questions

What is the difference between MFI and RSI?

MFI incorporates volume into its calculation, making it a volume-weighted RSI. MFI signals are generally considered more reliable because they account for the conviction behind price moves.

Continue learning

Ready to use MFI data in your application?

Start your free trial and access real-time MFI data across 7 timeframes.