Bill Williams Market Facilitation Index Calculator
Calculate the MetaQuotes point-normalized high-low range per entered volume unit without confusing BW MFI with Money Flow Index.
Enter point size and ordered high-low-volume rows
Use completed bars from one symbol, timeframe, broker feed and volume type.
One row per completed bar. Commas, semicolons or tabs are accepted. Volume may be zero but cannot be negative.
Current entered-bar BW MFI
Entered Price-Volume Derivatives 1.0.0.
| Label | High | Low | Range points | Volume | Carried | BW MFI | Value relation | Volume relation |
|---|
How Bill Williams Market Facilitation Index is calculated
BW MFI = range in points ÷ volume
Version 1.0.0 follows the published MetaQuotes source buffer and normalizes price range into symbol points before dividing by the entered volume. The explicit point-size field makes the output unit auditable.
When volume is zero, the prior BW MFI is carried forward; a zero-volume first row returns zero. The calculator accepts completed bars only and does not apply the terminal source correction for a still-forming bar.
Assumptions and limits
- Point size must match the entered symbol specification; it is not assumed from decimal appearance.
- Rows must use one symbol, timeframe, broker feed and consistent volume type.
- A zero-volume row carries the prior value and does not create a new quotient.
- Spot-forex tick volume counts price changes rather than centralized executed volume.
- The page does not emit the Green, Fade, Fake or Squat color states, market meaning or trade signals.
Worked example from the audited fixture
How to interpret the result
The output is price-range points per entered volume unit. Its scale changes with point size and the broker’s volume convention. The latest value is lower while volume is higher, but this page does not assign a Bill Williams color, state or signal.
Frequently asked questions
- No. Bill Williams Market Facilitation Index divides a bar range by volume; Money Flow Index uses typical-price money-flow ratios.
- Enter a positive symbol point size and one or more ordered high-low-volume rows from one consistent symbol, timeframe and feed.
- The entered high minus low price range is divided by the entered symbol point size.
- The range in symbol points is divided by the entered current-bar volume.
- The published MetaQuotes source normalizes the price range by symbol point size before dividing by volume.
- The prior value is carried forward; a zero-volume first row returns zero, matching the published source.
- No. It accepts completed entered bars and does not apply the terminal source time correction for an active bar.
- No. It reports values and adjacent relations without Green, Fade, Fake, Squat or trading classifications.
Sources and methodology
- MetaQuotes Code Base — Market Facilitation Index — Published point normalization, zero-volume carry and completed/active-bar behavior.
- MetaTrader 5 Help — Market Facilitation Index — Official high-low range divided by volume formula context.
- MQL5 Reference — iBWMFI — Official applied-volume interface and one-buffer contract.
Continue entered price-volume analysis
Compare the chart feed and trading terms
Confirm the symbol point size and whether the platform supplies tick or real volume, then keep one feed and volume type across every entered observation.
Risk and affiliate disclosure: Leveraged forex and CFD trading can result in substantial losses. These are affiliate links, so ForexMT4Indicators.com may receive compensation if you register or trade through them, at no additional cost to you. Availability and terms vary by jurisdiction and broker entity.

