Forex
Indicator

Market Facilitation Index (BW MFI): Green, Fade, Fake, and Squat

Last updated 2026-07-22

The Market Facilitation Index — usually shortened to BW MFI ("BW" for Bill Williams) — asks a question no pure price or momentum oscillator can answer on its own: how much price movement is a given amount of trading volume actually producing? It's one of the lesser-known tools in Bill Williams' system compared to the Alligator or Awesome Oscillator, but it fills a genuinely different role — reading the efficiency of price movement relative to the effort behind it, rather than reading direction or momentum directly.

How BW MFI Is Calculated

The formula is deliberately simple: MFI = (High − Low) ÷ Volume for each bar. The numerator is just that bar's price range; the divisor is the trading volume behind it. A bar with a wide range on modest volume produces a high MFI reading — price moved a lot for the effort involved. A bar with a narrow range on heavy volume produces a low MFI reading — a lot of trading activity, but very little price movement to show for it.

On its own, that single number isn't especially useful — what makes BW MFI distinctive is that it's always read together with volume, comparing both MFI and Volume against the prior bar to sort every bar into one of four named zones.

The Four Zones: Green, Fade, Fake, Squat

BW MFISquatbreakoutGreen (MFI ↑, Vol ↑)Fade (MFI ↓, Vol ↓)Fake (MFI ↑, Vol ↓)Squat (MFI ↓, Vol ↑)
A Squat bar (heavy volume, little price movement) is the zone worth watching — it often precedes a breakout once the pent-up volume finally moves price
  • Green — MFI up, Volume up. Price is moving more, and more volume is backing that move. This is the healthiest zone: a genuine, well-supported move.
  • Fade — MFI down, Volume down. Both price movement and volume are drying up. Interest in the current move is fading, with no signal about what comes next.
  • Fake — MFI up, Volume down. Price moved more, but on less volume than the prior bar. A move like this isn't well supported — it can reverse just as quickly as it appeared, since there wasn't much real participation behind it.
  • Squat — MFI down, Volume up. This is the zone worth watching most closely: a lot of trading activity happened, but price barely moved. That combination — heavy effort, little result — often means the market is loading up energy that hasn't been released yet, and a Squat bar is frequently followed by a sharp breakout once that pent-up volume finally does move price.

The diagram above shows this progression: a Green run confirming a genuine move, a Fade/Fake stretch where the move loses backing, then a Squat bar immediately followed by a breakout — exactly the sequence the included alert indicator is built to flag.

Entry Conditions

BW MFI's four zones are informational on their own — Green, Fade, and Fake describe the current state of a move without giving a specific directional trigger. The one exception is Squat, which is why the included alert focuses on it specifically:

  • Alert on Squat — the alert fires the first time a bar's MFI falls while Volume rises compared to the bar before it, flagging that energy may be building for a breakout.
  • No standalone BUY/SELL from BW MFI alone — direction has to come from what price actually does after a Squat bar, which is exactly what the Squat Breakout EA built around this indicator trades mechanically.

This is a genuinely different kind of "entry condition" than most indicators on this site provide — BW MFI tells you when to pay closer attention, not which direction to trade, which is precisely why it pairs so naturally with a second confirming signal (price breaking the Squat bar's own high or low) rather than acting alone.

Parameters

  • EnableAlert (default true) — pop up a terminal alert the first time a bar is classified as Squat.
  • EnablePush (default false) — also send a push notification to your phone via MetaTrader's mobile app.

BW MFI has no lookback period to tune at all — unlike almost every other oscillator on this site, each bar's zone is determined purely by comparing that bar to the single bar immediately before it, with no moving average or smoothing period involved anywhere in the calculation.

BW MFI vs Money Flow Index (MFI): Same Name Family, Different Indicator

This is worth flagging explicitly, because the naming collision trips up a lot of traders moving between platforms and articles: BW MFI and the Money Flow Index covered elsewhere on this site are two completely different indicators that happen to share the "MFI" abbreviation. The Money Flow Index is a bounded 0-100 oscillator, structurally a volume-weighted version of RSI, read with overbought/oversold zones the same way RSI is. BW MFI is an unbounded histogram with no upper limit, sorted into four named zones based on bar-to-bar comparison rather than a lookback average, and it isn't trying to measure overbought or oversold conditions at all — it's measuring the relationship between effort (volume) and result (price range) on each individual bar. If a broker's terminal or a forum post says "MFI" without further context, it's worth checking which one is actually meant before assuming the 70/30 or 80/20-style reading applies.

The Forex Volume Caveat

Like every volume-based tool on this site, BW MFI inherits the same caveat covered in the Money Flow Index lesson: forex has no centralized exchange, so there's no true traded volume figure the way stocks or futures have. What MetaTrader feeds into this calculation is tick volume — a count of price updates during the bar, not lots actually traded — which varies from broker to broker based on each one's own liquidity providers. Tick volume is a reasonable proxy for trading activity, but BW MFI on forex should be read as reacting to quoting intensity rather than literal traded volume, the same limitation that applies to OBV and the Money Flow Index.

A Word of Caution

A Squat bar raises the odds of a breakout, but it doesn't guarantee one, or its direction — plenty of Squat bars simply resolve into another quiet bar with no follow-through at all, especially in a market that's genuinely ranging rather than compressing before a move. Because the zone classification only compares each bar to the single bar before it, a choppy market can produce a scattered mix of all four zones without any of them meaning much individually — the zones are most informative when read as a short sequence (a run of Green, followed by a Squat) rather than judged one bar at a time. And as with every tick-volume-based tool on this site, treat the "volume" half of BW MFI as an approximation of trading activity, not a literal count of contracts traded, when applying it to a forex pair. Combine a Squat signal with an actual price breakout and a defined Stop Loss, using Risk Management Basics to size the trade, rather than trading the zone label on its own.

Download the Indicator

This custom indicator plots BW MFI as a four-color histogram (Green, Fade, Fake, Squat) and automatically alerts the first time a bar is classified as Squat. It's available for both MetaTrader 4 and MetaTrader 5 below.

How to Install — MetaTrader 4

  1. Download the market-facilitation-index-alert.mq4 file below.
  2. Open MetaTrader 4 → click FileOpen Data Folder.
  3. Place the file in the MQL4/Indicators folder.
  4. Restart MetaTrader 4, then drag the indicator from the Navigator window onto the chart.

How to Install — MetaTrader 5

  1. Download the market-facilitation-index-alert.mq5 file below.
  2. Open MetaTrader 5 → click FileOpen Data Folder.
  3. Place the file in the MQL5/Indicators folder.
  4. Restart MetaTrader 5, then drag the indicator from the Navigator window onto the chart.

Both files are source code — open and review the full code before using it, for your own safety.

Download market-facilitation-index-alert.mq4

For MetaTrader 4 — this is source code (.mq4), open and review it fully before using it.

Download File

Download market-facilitation-index-alert.mq5

For MetaTrader 5 — this is source code (.mq5), open and review it fully before using it.

Download File