Technical indicators

Chaikin Money Flow (CMF): Formula, Zero Line and Reading Volume

Chaikin money flow, or CMF, is a volume-weighted indicator developed by Marc Chaikin. It adds up money flow volume over a set number of bars and divides by total volume, giving a value between -1 and +1. Readings above zero describe buying pressure, and readings below zero describe selling pressure.

By RTX5 Editorial TeamLast updated: Editorial methodology
Illustration of three EXAMPLE bars, each with its close marked inside its high-low range, a multiplier and a money flow volume. A white result card shows 1,100 divided by 4,500 as CMF 0.24, and a gauge shows that value on a scale from -1 to +1 with a zero line.
Illustration only: the three bars are EXAMPLE values, and the gauge shows a three-bar result, not a standard 20-period reading. Open full-size diagram (opens in a new tab)

In brief

What is Chaikin money flow?

Chaikin money flow weights each bar's volume by where the close sits inside the bar's range. Here is the formula, a three-bar worked example with exact arithmetic, the default settings the sources give, and the limits of reading it.

Key takeaways

  • CMF is the sum of money flow volume over N bars divided by the sum of volume over the same bars. Sources cite 20 or 21 bars.
  • The money flow multiplier, ((Close - Low) - (High - Close)) / (High - Low), ranges from -1 to +1. It is +1 when the close is the high and -1 when the close is the low.
  • Sources describe a positive CMF as buying pressure and a negative CMF as selling pressure. A reading describes the bars in the window, not the price that comes next.
  • The formula ignores gaps between bars, depends on volume quality, and cannot score a bar with no range.
  • The Chaikin oscillator is a different indicator built on the accumulation/distribution line. Do not treat the two names as the same calculation.

Chaikin money flow meaning: what the indicator measures

Chaikin money flow is a volume indicator. It asks a simple question of each bar: did the close sit in the upper or lower part of the bar's range, and how much volume traded in that bar? A close near the high pushes the reading up, and a close near the low pushes it down, in proportion to volume. The reading then covers a window of bars.

For the wider background on volume, see volume in trading.

The CMF formula in three steps

Marc Chaikin's formula is set out the same way by StockCharts and TradingView. Both give the money flow multiplier and money flow volume below, then sum over a look-back window.

  • Money flow multiplier: ((Close - Low) - (High - Close)) / (High - Low). This is a value between -1 and +1 for each bar.
  • Money flow volume: money flow multiplier x volume for the bar. A bar with a negative multiplier gives a negative money flow volume.
  • CMF: the sum of money flow volume over N bars, divided by the sum of volume over the same N bars. StockCharts writes the 20-period version as 20-period sum of money flow volume / 20-period sum of volume.

Because the result is a ratio of two sums, it is bounded. StockCharts adds that it rarely reaches the extremes of -1 and +1.

How the money flow multiplier reads a close

The multiplier compares the close with the middle of the bar. Rewritten, the numerator is 2 x Close - High - Low, so the multiplier is positive when the close is above the midpoint of the high-low range, zero at the midpoint, and negative below it. A close at the high gives +1. A close at the low gives -1.

The divisor is the bar's full range, High minus Low. A bar with no range, where high and low are equal, cannot be scored because the division has no value. The sources checked for this page do not state how each platform handles such a bar, so check your chart's documentation.

Chaikin money flow worked example with three bars

This is an EXAMPLE with assumed prices and volumes, not market data. Three bars are used because the arithmetic is easy to follow. The standard window is 20 or 21 bars, so this three-bar total is for illustration only.

Bar 1: high 10.50, low 9.50, close 10.25, volume 1,000. The range is 1.00. The multiplier is ((10.25 - 9.50) - (10.50 - 10.25)) / 1.00 = (0.75 - 0.25) / 1.00 = 0.50. Money flow volume is 0.50 x 1,000 = 500.

Bar 2: high 11.00, low 10.00, close 10.20, volume 1,500. The range is 1.00. The multiplier is ((10.20 - 10.00) - (11.00 - 10.20)) / 1.00 = (0.20 - 0.80) / 1.00 = -0.60. Money flow volume is -0.60 x 1,500 = -900.

Bar 3: high 11.40, low 10.60, close 11.30, volume 2,000. The range is 0.80. The multiplier is ((11.30 - 10.60) - (11.40 - 11.30)) / 0.80 = (0.70 - 0.10) / 0.80 = 0.75. Money flow volume is 0.75 x 2,000 = 1,500.

EXAMPLE: three-bar CMF calculation
BarHighLowCloseVolumeMultiplierMoney flow volume
110.509.5010.251,000+0.50+500
211.0010.0010.201,500-0.60-900
311.4010.6011.302,000+0.75+1,500
Total4,500+1,100

EXAMPLE only. CMF = 1,100 / 4,500 = 0.2444, shown as 0.24. A three-bar window is for illustration, not a standard setting.

The sum of money flow volume is +1,100 and the sum of volume is 4,500, so the three-bar CMF is 0.24 when rounded to two decimal places. In this EXAMPLE the value is above zero. The StockCharts convention would describe that as buying pressure over these three bars. StockCharts suggests thresholds of +0.05 and -0.05 around zero, shown on a 20-day example chart. A three-bar example is too short to apply them meaningfully.

Now change one input. Suppose bar 3 had closed at its low of 10.60 instead. Its multiplier would be -1 and its money flow volume -2,000. The total would be 500 - 900 - 2,000 = -2,400, and the CMF would be -2,400 / 4,500 = -0.53. The same volume now sits on the selling side. This variant is also an EXAMPLE, and it shows why the close location matters as much as the volume.

Default period and source variants for CMF

The sources do not agree on every detail, so the table sets them side by side rather than choosing one. Where a source gives a range or a rule, the row quotes it. The third row is a different indicator and is included only to prevent confusion.

CMF defaults and variants across the sources checked on 10 November 2026
SourcePeriodRange statedZero-line statement
StockCharts ChartSchool, Chaikin Money Flow (Marc Chaikin)20 in the published example; SharpCharts default 20; text says typically 20 or 21Between -1 and +1, rarely at the extremes; typically -0.50 to +0.50Positive territory indicates buying pressure, negative indicates selling; thresholds of +0.05 and -0.05 around zero suggested, shown on a 20-day example chart
TradingView support, Chaikin Money Flow (CMF)Text says most popular settings are 20 or 21 days; the calculation example uses 21Stated as between 1 and -1A cross of the zero line can indicate an impending trend reversal
MetaTrader 5 help, Chaikin Oscillator (a different indicator)EMA(A/D, 3) minus EMA(A/D, 10)Not stated as a CMF rangeNot a CMF. Built on the accumulation/distribution line, so it is not interchangeable with CMF

Sources checked on 10 November 2026. The TradingView zero-line statement is the source's own claim, and this page does not adopt it as a forecast.

Write the period down with any reading you record, because a 20-bar and a 21-bar CMF will not match. Your platform may default to another value, so confirm the setting on your chart. The MACD guide makes the same point about settings.

How CMF readings are described, and what they do not prove

The table lists the readings educational sources describe, with the limit that matters most for each.

Common CMF readings and what they do not prove
ReadingCommon descriptionWhat it does not prove
CMF above zeroBuying pressure, per StockChartsThat the price will rise. It describes the bars already in the window.
CMF below zeroSelling pressure, per StockChartsThat the price will fall or that a downtrend will continue.
CMF crosses above or below zeroA cross can show a shift in pressure; TradingView describes a cross as a possible impending trend reversalThat a reversal will occur. A cross is a change in the sign of a ratio, and crosses can repeat inside a range.
CMF held near +0.50 or -0.50StockCharts says the oscillator typically sits between -0.50 and +0.50That the price is overbought or oversold. The range describes volume and close location, not price value.

Source for the descriptions: StockCharts ChartSchool and TradingView support. The third column is this page's reading and is not from either source.

Limits: gaps, volume quality and zero-range bars

Three limits matter most, and each is a reason to check your data before you use a reading.

  • Gaps are ignored. The multiplier uses only the current bar's high, low and close, so the change from the previous close is not in the calculation. TradingView notes that the multiplier does not take into account the change in trading range between periods, and StockCharts warns that ignoring the close-to-close change means CMF can sometimes disconnect from price.
  • Volume quality. The volume sums are only as reliable as the volume data behind them. A feed that under-reports volume will bias the ratio, so check what your platform's volume figure measures before you read CMF; see volume in trading.
  • Zero-range bars and lag. A bar where the high equals the low cannot be scored. The CMF also looks back over 20 or 21 bars, so it describes the window after those bars have formed.

These limits define what the indicator can show. For volume read by price level rather than by bar, see volume profile vs market profile.

Risk disclosure

  • CMF describes past bars. A positive or negative reading does not show that the price will rise or fall, and a zero-line cross is not a trade signal.
  • The sources do not agree on the default period, the range wording or the meaning of a zero-line cross. Confirm the setting and definition on your own platform before recording a reading.
  • Volume data quality, gaps and tick volume can distort the ratio. A reading on a feed you have not checked may mislead.
  • This page is educational and is not personal financial advice. Trading can lose money, and no indicator removes that risk.

RTX5 status

This guide explains Chaikin money flow in general and does not describe an RTX5 feature. No RTX5 release record confirms which indicators, chart types or alerts the product includes. Its Windows desktop client is in preview, and the web and mobile clients are planned. A Google Play listing for Android is published, but the mobile client has no approved release record yet; check the product-availability record before relying on any RTX5 feature.

Check RTX5 product availability

Trust and methodology

How this research was prepared

We want you to be able to identify who owns the page, inspect the evidence, understand how tools were used, and challenge anything that looks wrong or out of date.

Accountable publisher

Published under the RTX5 Editorial Team byline. It identifies the responsible publishing organization; it does not imply that a named lawyer, regulator, financial adviser, or licensed expert approved this page.

Evidence you can inspect

4 primary references are listed on this page with context about what each one supports. The source set was checked on .

Assistance is disclosed

Automation and AI may help organize research, outline a page, or edit language. They are not treated as sources, are not presented as human experts, and do not remove the publisher's responsibility for the final page.

Primary references

Sources were checked on 10 November 2026. They explain market rules and concepts; they do not certify RTX5 or provide individual financial advice.

StockCharts ChartSchool: Chaikin Money Flow (CMF)Credits Marc Chaikin as the developer ('Developed by Marc Chaikin') and names no author. Gives the Money Flow Multiplier, Money Flow Volume and 20-period CMF formulas, says the look-back is typically 20 or 21 days, gives 20 periods as the default setting, says the indicator rarely reaches +1 or -1 and typically fluctuates between -0.50 and +0.50, and says a move into positive territory indicates buying pressure and a move into negative territory indicates selling pressure. Its 'Zero Line Crosses' section sets a bullish threshold a little above zero (+0.05) and a bearish threshold a little below zero (-0.05); the page does not say which period they apply to, and its example chart uses 20 days. Its 'CMF and Gaps' caveat says ignoring the change from close to close means CMF can sometimes disconnect with price. Checked 10 November 2026. No publication date is shown.TradingView support: Chaikin Money Flow (CMF)Gives the same multiplier and money flow volume formulas and a CMF formula over 21 periods, says the most popular settings are 20 or 21 days, states the value range, notes that the multiplier ignores the change in trading range between periods, and describes a zero-line cross as a possible impending trend reversal. Checked 10 November 2026.MetaTrader 5 help: Chaikin OscillatorDefines the Chaikin Oscillator as EMA(A/D, 3) minus EMA(A/D, 10), with no CMF formula. Used here only to separate the oscillator from Chaikin money flow. Checked 10 November 2026.RTX5 product availabilityThe record for RTX5 feature status. This page does not describe an RTX5 indicator, and the RTX5 section above links to it.

Questions readers ask

What is the difference between Chaikin money flow and the Chaikin oscillator?

CMF divides the sum of money flow volume over a window by the sum of volume. The Chaikin oscillator, as MetaTrader 5 describes it, is a 3-period EMA minus a 10-period EMA of the accumulation/distribution line. They are different calculations, so check the formula behind any chart label.

What period should I use for chaikin money flow?

StockCharts gives 20 as its default and says the typical look-back is 20 or 21 bars. TradingView says the most popular settings are 20 or 21 days. The period you choose changes the reading, so use the same setting when you compare readings and record the value you used.

Does a CMF above zero mean the price will go up?

No. A positive CMF describes buying pressure in the bars inside the window, using the close's position within each range and each bar's volume. It does not forecast the next price move. TradingView describes a zero-line cross as a possible trend reversal, but that is the source's claim and does not make the cross a reliable signal.

What happens to CMF on a bar where the high and low are equal?

The multiplier divides by High minus Low, so on a bar where the high equals the low the divisor is zero and the formula gives no value for that bar. The sources checked for this page, StockCharts and TradingView, do not state a rule for this case or how each platform handles it. Check your chart's documentation before reading CMF over a window that contains such a bar, and see the limits section of this guide for the other input problems.