Chaikin Money Flow (Pifagor „Money Waterfall“)
Measures capital in-/outflow via the position of the close within the bar range, weighted by volume. Positive = accumulation, negative = distribution.
What is the CMF?
By Marc Chaikin. The Chaikin Money Flow looks at where the close sits within the bar's range — near the high = buyers dominate, near the low = sellers — and weights that by volume:
Money Flow Multiplier = ((close − low) − (high − close)) / (high − low)
Money Flow Volume = Multiplier · volume
CMF = Σ(MFV, N) / Σ(volume, N)
CMF ∈ [−1, +1]. > 0 = accumulation (money flowing in), < 0 = distribution (money flowing out).
How Botty uses the CMF
- Filter
money_waterfall_filter(strategies/conditions/filters.py, Pifagor): a smoothed CMF as a capital-flow filter — and specifically contrarian: a negative waterfall (money flowing out) = buy zone; positive = distribution. A long passes whenmoney_waterfall < mw_long_max(default 0.0, i.e. the CMF must be negative).
CMF vs. related
- vs. OBV: OBV takes the whole bar volume depending on the day's direction; CMF weights more finely via the intra-bar position of the close.
- vs. MFI: MFI is a 0–100 oscillator over Typical Price; CMF is a [−1,+1] flow measure.
Limits
❌ The multiplier ignores gaps between bars (close vs. prev-close). ❌ Unstable when ranges are very small (high≈low).