Chaikin Money Flow (CMF): formula and limits

Chaikin Money Flow, or CMF, is a trading indicator that measures, over a window of 20 or 21 candles, whether volume traded on candles closing nearer their high or nearer their low. It oscillates between −1 and +1 around a zero line. It is named after its author, the analyst Marc Chaikin. It is a volume indicator, so it depends on real volume, which the lesson on the Wyckoff method and VSA reads candle by candle and which the volume profile sorts by price level. Like the Relative Vigor Index, it looks at where the close sits inside the candle, but it weights that position by volume. This lesson gives its exact formula, worked by hand on five candles, the platform settings, how to read the zero line, and then what the indicator does not see.

Chaikin Money Flow: definition, what it measures and what it does not

The CMF asks two questions of every candle: where did it close between its low and its high, and how much volume did it carry? A close in the upper half of the candle counts its volume as positive, a close in the lower half counts it as negative. The indicator adds up these signed volumes over the window and divides them by total volume. The ChartSchool page on Chaikin Money Flow, from StockCharts presents it this way: developed by Marc Chaikin, it measures the amount of Money Flow Volume over a specific period.

TradingView's help page on Chaikin Money Flow ties it to two other indicators by the same author, the Chaikin Oscillator and the Accumulation/Distribution line. The link is direct: ChartSchool notes that the same Money Flow Volume, accumulated with no window instead of being summed over 20 candles, gives the Accumulation Distribution Line.

Two points. The name speaks of money flowing, but the calculation sees no account and no order: it knows only four numbers per candle, the high, the low, the close and the volume. 'Buying pressure' and 'selling pressure' are therefore an interpretation of where the close sits, not a measurement of who bought. And the CMF never compares a close with the previous one: a candle can close higher than the day before and still count as negative, which is its main limit, detailed further down.

The CMF formula, in three steps

ChartSchool and TradingView write the same formula, in three steps.

Step 1: the Money Flow Multiplier. Multiplier = [(close − low) − (high − close)] ÷ (high − low). It equals +1 when the candle closes on its high, −1 when it closes on its low, 0 when it closes exactly in the middle. It is positive in the upper half of the candle, negative in the lower half.

Step 2: Money Flow Volume. Money Flow Volume = multiplier × the candle's volume. A candle of 2,000 shares that closes three quarters of the way up its range has a multiplier of +0.5 and counts for +1,000.

Step 3: the ratio over the window. 20-period CMF = sum of Money Flow Volume over the last 20 candles ÷ sum of volume over the last 20 candles. The result stays between −1 and +1. To touch +1, every candle in the window would have to close on its high: in practice, the indicator spends most of its time near zero.

A case the formula does not settle. If a candle's high equals its low, step 1 divides by zero. Neither of the two pages read says how that case is handled: on a thin market or a very short timeframe, check what your platform displays.

The CMF worked by hand on five candles

The prices and volumes are invented, and the period is 5 instead of 20 so that the calculation fits in a few lines. Here are the five candles, in the order high, low, close, volume. Candle 1: 102, 98, 101, 1,000. Candle 2: 104, 100, 103, 1,500. Candle 3: 105, 101, 102, 2,000. Candle 4: 104, 100, 104, 1,200. Candle 5: 106, 102, 103, 800.

The multipliers. Candle 1: [(101 − 98) − (102 − 101)] ÷ (102 − 98) = (3 − 1) ÷ 4 = +0.5. Candle 2: (3 − 1) ÷ 4 = +0.5. Candle 3: (1 − 3) ÷ 4 = −0.5. Candle 4, which closes on its high: (4 − 0) ÷ 4 = +1. Candle 5: (1 − 3) ÷ 4 = −0.5.

Money Flow Volume. +0.5 × 1,000 = +500; +0.5 × 1,500 = +750; −0.5 × 2,000 = −1,000; +1 × 1,200 = +1,200; −0.5 × 800 = −400. Their sum is 500 + 750 − 1,000 + 1,200 − 400 = 1,050. The sum of volume is 1,000 + 1,500 + 2,000 + 1,200 + 800 = 6,500.

The 5-period CMF. 1,050 ÷ 6,500 = +0.16. The figure is positive but modest: candle 3, the heaviest in volume, closed in its lower half and takes away 1,000 on its own.

A sixth candle, with a gap. The market opens sharply higher: high 112, low 108, close 108, volume 3,000. The close is five points above candle 5's close, but it sits on the low of its own candle: multiplier −1, Money Flow Volume −3,000. The window of 5 slides and candle 1 drops out. New sum: 750 − 1,000 + 1,200 − 400 − 3,000 = −2,450, for a volume of 8,500. The CMF falls to −0.29 while price has just gained five points.

CMF settings: 20 or 21 periods

There is a single setting: the length of the window. ChartSchool writes that the sum covers a specific look-back period, typically 20 or 21 days, and that StockCharts' charting tool adds the indicator with a default of 20 periods. TradingView's help writes its formula over 21 periods. The difference comes down to a convention: a month holds roughly 20 or 21 trading sessions.

What the length changes. A short window reacts faster and crosses zero more often; a long window smooths more and reacts later. It is the same trade-off as for a moving average or for the ATR. Neither of the two sources read compares several lengths or names one setting as better than another.

Volume itself is not a setting. On a stock or a futures contract, volume comes from the exchange. On spot forex, there is no centralised volume: your platform shows tick volume, as the lesson on the forex market explains. The CMF still calculates, but on a count of price changes seen by a single broker, not on quantities traded.

Reading the CMF: zero line, buffers and trend

Above or below zero. For ChartSchool, a move into positive territory indicates buying pressure and a move into negative territory indicates selling pressure. TradingView puts it differently: the closer the CMF is to 1, the higher the buying pressure; the closer to −1, the higher the selling pressure. In plain terms: above zero, over the window, more volume traded on candles that close in their upper half.

The zero line cross. ChartSchool reads it as a shift in buying or selling pressure; TradingView writes that it can indicate an impending trend reversal, and adds straight away that brief crosses occur and result in false signals. Both sources suggest the same filter: replace zero with two buffers, +0.05 for the bullish reading and −0.05 for the bearish one. Those values are an example given by the sources, not the result of a measurement.

Confirming a trend. TradingView describes the most common use: during a bullish trend, a CMF that stays above zero can indicate that prices will continue to rise, and the reverse during a bearish trend. So the CMF does not find the trend, it goes along with it: direction is read on price first, for example with the MACD or the structure of the chart.

None of these readings is an order to buy or sell. They are conventions, to be tested on your market, your timeframe and your window length, with the method in the article on how to backtest a trading strategy.

The limits of Chaikin Money Flow

It does not see gaps. This is the limit both sources write down. The multiplier only looks at where the close sits within the candle's range, never at the change from one close to the next. After a gap, ChartSchool writes, the CMF can disconnect from price; TradingView says the gap simply is not picked up. The sixth candle of the example shows it: five points higher, and a CMF that goes from +0.16 to −0.29.

It moves when a candle leaves the window. The CMF is a rolling sum: every new candle pushes an old one out. If the candle that leaves carried heavy volume, the indicator jumps although nothing new has happened in the market. Before reading a sharp move, look at what has just left the window.

It is worth what the volume is worth. Tick volume on spot forex, a single venue's volume on many cryptocurrencies, partial volume outside regular hours: the CMF cannot be more reliable than the number it is fed.

Near zero, crosses multiply. TradingView writes it, and the ±0.05 buffers only remove some of them. The same page concludes that the CMF works well in conjunction with additional indicators. Neither of the two pages read publishes a measurement of its signals: no success rate, no comparison of settings. If you use it, note in your journal what the CMF said at entry, and let your own trades tell you whether it adds anything.

Frequently asked questions

What is Chaikin Money Flow (CMF) in trading?

Chaikin Money Flow is a volume indicator created by the analyst Marc Chaikin. Over 20 or 21 candles, it adds up each candle's volume weighted by where its close sits between the low and the high, then divides by total volume. It oscillates between −1 and +1 around zero.

How is Chaikin Money Flow calculated?

Multiplier = [(close − low) − (high − close)] ÷ (high − low). Money Flow Volume = multiplier × volume. CMF = sum of Money Flow Volume over the window ÷ sum of volume over the same window.

Which period should you use for the CMF?

ChartSchool speaks of 20 or 21 days as typical and StockCharts' tool defaults to 20; TradingView's help writes its formula over 21 periods. Neither source names one length as better than another: a shorter one reacts faster and crosses zero more often.

What does a positive or negative CMF mean?

Positive: over the window, more volume traded on candles that close in their upper half, which the sources call buying pressure. Negative: the reverse, selling pressure. It is not a trend direction: after an opening gap, the CMF can be negative while price is rising.

Does the CMF work on forex?

It calculates, but on tick volume: spot forex has no centralised volume, and your platform counts the price changes seen by your broker. The result therefore does not measure quantities traded, and it can differ from one broker to another.

Key takeaways

  • Chaikin Money Flow (CMF) is a volume indicator: it weights each candle's volume by where its close sits between the low and the high.
  • Three steps: a multiplier from −1 to +1, multiplied by volume, then the sum over 20 or 21 candles divided by the sum of volume.
  • It oscillates around zero; the sources suggest buffers at +0.05 and −0.05 to filter brief crosses, as an example.
  • It never compares two closes: after an opening gap, it can fall while price rises.
  • It is worth what the displayed volume is worth, and none of the sources read publishes a measurement of its signals.

Join the Oshi Academy

The lessons teach you the theory, the community makes you practise. We swap trades, screenshots and silly questions there, and nobody sells signals.

Join the Oshi Academy