Chaikin Money Flow (CMF) explained, and how to use it
Chaikin Money Flow asks where each bar closed within its own range, and weights the answer by how much traded. This guide is what that measures, why it stays between −1 and +1, and the comparisons you can build a SixOne8 condition from. It needs trading volume, which US stocks and ETFs carry — coming soon on Elite — and the forex and crypto feeds do not.
What Chaikin Money Flow measures
Each bar gets a money flow multiplier: (2 × close − high − low) ÷ (high − low). A bar that closes on its high scores +1, one that closes on its low scores −1, and one that closes in the middle scores 0. A bar with no range at all — high equal to low — scores 0. Multiply each bar's score by its volume, add those up over the last N bars, and divide by the total volume in the window. That is CMF.
Because it is an average of scores that are each between −1 and +1, the result cannot leave that range. Above zero, the heavier bars in the window tended to close in the upper half of their range; below zero, in the lower half. Chartists call those buying and selling pressure. In practice readings rarely reach far: beyond ±0.25 already means the closes sat consistently near one end of their bars on the bars that traded most.
Chaikin Money Flow settings
- Period. How many bars the average covers, twenty by default. A shorter period crosses zero far more often; a longer one changes sides slowly.
- Threshold. The level the condition compares against, from −1 to +1, zero by default. It appears only for the level comparisons; rising and falling need none.
The chart pins CMF's pane to the full −1 to +1 range, so a quiet stretch looks quiet rather than being stretched to fill the pane. A strategy using CMF applies only to markets with volume, and a bar that arrives without its volume gives no reading rather than being counted as zero.
How to use Chaikin Money Flow in a strategy
These are the comparisons SixOne8 offers for CMF, in the builder's own words.
- Greater than / less than a level. True for every bar the reading is on that side of the threshold. With the default of zero, that is "net buying pressure" or "net selling pressure" over the window — a state.
- Crosses above / crosses below a level. True only on the bar where the reading moves through the threshold — a moment, the usual choice for a trigger.
- Rising / falling. The reading is higher, or lower, than it was the bar before.
CMF(20) on 1d · crosses above · 0
Read it as a sentence: on the daily chart, twenty-day Chaikin Money Flow has just moved from below zero to above it. That is what the scanner evaluates at each daily close, and what the alert will say if it is the condition that completed the strategy.
CMF and the close-in-range idea
CMF ignores how far price moved from one bar to the next. A market can fall for days and still show a positive CMF if each of those days closed off its lows. That is the point of it — it is a second opinion on price, not a restatement — but it also means a CMF condition reads oddly on its own. It sits most naturally beside a condition about direction, such as price above a moving average, with CMF deciding whether the bars underneath look like buying or selling.
The same multiplier, added up from the beginning rather than averaged over a window, is the Accumulation Distribution Line, which is also in the app's volume indicators.
Does Chaikin Money Flow work on your market?
Run an entry check. It will tell you whether, on the stock or ETF you care about, the moments this condition fired moved any differently from a random moment over the history tested. That is a fact about the past on that market, and it is the only kind of fact a test here produces.