Chaikin Money Flow Indicator: Formula, Settings and How to Read It
Chaikin Money Flow sums money flow volume over a fixed window and divides it by the total volume of that same window, producing a value bounded between −1 and +1. It states which side has dominated the last N bars rather than what the whole chart has accumulated.
Senzoukria · Indicators · Updated September 2026
Chaikin Money Flow ships with the Senzoukria desktop app, in the Volume group of the indicator catalogue. It is drawn in its own panel below the chart.
What Chaikin Money Flow measures
CMF is the Accumulation/Distribution term normalised by volume across a rolling window, with a default period of 20 bars. Because the result is a ratio, readings compare across instruments in a way the raw A/D level cannot. Before the window is full the indicator returns nothing rather than a partial average, and if total volume over the window is zero it also returns nothing — a ratio without a denominator is a missing reference, not neutral pressure. A bar whose high equals its low still contributes its volume to the denominator and zero to the numerator, consistent with how the A/D line treats it.
The formula, as implemented
This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
CMF — Chaikin Money Flow : CMF_N = Σ_N (MFM × volume) / Σ_N volume ∈ [−1, +1] POURQUOI : c'est l'A/D NORMALISÉ sur une fenêtre — l'accumulateur dit « où on en est depuis le début du chart », le CMF dit « qui domine EN CE MOMENT » et se compare d'un instrument à l'autre. > 0 = pression acheteuse nette sur les N barres, < 0 = distribution. Défaut N = 20 (Chaikin, ~un mois de séances) : assez long pour que le dénominateur soit stable, assez court pour tourner sur un intraday. Warm-up (< N barres) → null. Σ volume = 0 sur la fenêtre → null : x/0 n'est pas « 0 % de pression », c'est une absence de référence — ici AUCUN cumul n'est en jeu, l'exception des accumulateurs ne s'applique pas. Une barre à range nul dans la fenêtre compte son volume au dénominateur et 0 au numérateur (cohérent avec l'A/D : elle n'apporte pas de direction).
How to read it
- Above zero means the closes over the window landed, on balance, in the upper part of their ranges on volume; below zero is the mirror image. The distance from zero is the degree, capped at −1 and +1.
- Zero-line crossings are the common trigger, but a reading sitting close to zero can be flipped by one bar. Treat borderline crossings as noise until they persist.
- Extended readings far from zero mean a persistent one-sided close pattern. They say nothing about how much further price can travel.
- A price high not matched by a CMF high means the newer highs were built on closes nearer the middle of their ranges.
- Read CMF beside the Chaikin Oscillator: the first gives the level of pressure over the window, the second its acceleration.
Parameters and defaults
Period defaults to 20, Chaikin's original setting and roughly a month of daily sessions; on intraday bars it is simply a 20-bar window. Shorter periods cross zero more often because fewer bars control the denominator, while longer periods stabilise the ratio and delay every change of sign. The accepted range is 1 to 500, and the plot is purple (#ab47bc) by default. There is no smoothing parameter on this one.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Period | number | 20 | 1 – 500 |
What it does not show
CMF inherits the blind spot of the whole Chaikin family: it reads the close's position in the range and never the aggressor side, so absorbed buying and effective buying look identical. Bars with no range dilute the reading by adding volume to the denominator without adding direction. Thin windows — holiday sessions, overnight futures hours — can produce large readings from very little volume. The bounded scale invites fixed thresholds, but what counts as an extreme reading differs by instrument and by timeframe.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- Volume — Volume
- Buy/Sell Volume — Volume
- Average Trade Size — Volume
- Volume ROC % — Volume
- Relative Volume — Volume
- Trade Count — Volume
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
Frequently asked questions
- What period should I use for Chaikin Money Flow?
- The default is 20, the setting Chaikin used. Shorter windows react faster and change sign more often; longer windows are steadier and slower to turn. There is no period that is correct for every instrument, so compare a candidate setting against the bar size you actually trade before adopting it.
- What does a Chaikin Money Flow reading of 0.25 mean?
- It means that, over the window, the volume-weighted average close landed about a quarter of the way from the midpoint toward the highs of the bars' ranges. The scale runs from −1, every bar closing at its low, to +1, every bar closing at its high. It is a measure of where closes sat, not of how far price moved.
- Why does Chaikin Money Flow plot nothing on the first bars of a chart?
- The ratio needs a complete window before it can be stated, so with the default period the first 19 bars produce no value at all rather than an average over fewer bars. The same blank appears whenever total volume across the window is zero, since there is then no denominator to divide by.