CMF (Chaikin Money Flow)
CMF (Chaikin Money Flow)
What is CMF?
Chaikin Money Flow (CMF) measures the amount of Money Flow Volume over a specific period. Developed by Marc Chaikin, it uses the same Money Flow Multiplier as ADL but averages it over a window, producing a bounded oscillator that shows whether buying or selling pressure is dominant.
How it works
CMF is calculated as the ratio of the sum of Money Flow Volume to the sum of Volume over the period:
Money Flow Multiplier = ((Close - Low) - (High - Close)) / (High - Low)
Money Flow Volume = MFM x Volume
CMF = SUM(Money Flow Volume, period) / SUM(Volume, period)
The result oscillates between -1 and +1, though extreme values are rare. In practice, CMF typically ranges between -0.5 and +0.5.
Key features
- Bounded oscillator — ranges from -1 to +1
- Zero line significance — above 0 = buying pressure, below 0 = selling pressure
- Period-based — uses a rolling window (default 20), unlike cumulative ADL
- Money flow direction — combines close position within range with volume
- Quick-reacting — responds faster than cumulative indicators like OBV or ADL
Trading signals
Zero line crossover
- CMF > 0 — buying pressure dominates, bullish bias
- CMF < 0 — selling pressure dominates, bearish bias
- CMF crosses above 0 — momentum shifting to buyers
- CMF crosses below 0 — momentum shifting to sellers
Strength of signal
- CMF > 0.25 — strong buying pressure
- CMF < -0.25 — strong selling pressure
Divergence
- Bullish divergence: Price makes lower low, CMF makes higher low
- Bearish divergence: Price makes higher high, CMF makes lower high
Trend confirmation
- Rising CMF during an uptrend confirms buying interest
- Falling CMF during a downtrend confirms selling pressure
Parameters
| Parameter | Default | Description | |-----------|---------|-------------| | Period | 20 | Number of candles for the rolling window |
Example conditions
| Condition | Meaning |
|-----------|---------|
| CMF(20) > 0 | Buying pressure is dominant |
| CMF(20) < 0 | Selling pressure is dominant |
| CMF(20) cross_over 0 | Money flow turned positive |
| CMF(20) cross_under 0 | Money flow turned negative |
| CMF(20) > 0.25 | Strong buying pressure |
| CMF(20) < -0.25 | Strong selling pressure |
Tips
- CMF is one of the best oscillators for detecting institutional buying/selling
- Values staying persistently above 0 indicate sustained accumulation
- Values staying persistently below 0 indicate sustained distribution
- Combine CMF with price breakouts — a breakout with CMF > 0 is more likely to succeed
- CMF works best on daily and 4h timeframes for swing trading
- Shorter periods (10) make CMF more responsive; longer periods (30) smooth out noise

