Blog/Technical Analysis
Technical AnalysisSep 19, 202611 min read

Chaikin Money Flow: Reading Buying Pressure Inside the Bar

Chaikin Money Flow scores every bar by where its close landed inside its own high-low range, weights that by volume, and averages the result over a rolling 20 or 21 day window. The formula worked through five bars of arithmetic, the -1 to +1 range nobody ever reaches, the zero-line buffer, divergence, and the gap blind spot built into the maths.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Most volume indicators ask whether volume went up and whether price went with it. Chaikin Money Flow asks something narrower and considerably stranger. For every bar it asks where the close landed inside that bar's own high-low range, scores the answer from -1 to +1, multiplies the score by the bar's volume, and sums the result across a rolling window. That construction buys one genuinely useful property and one genuinely weird one. The useful property is that a rally on thin volume barely moves the line, because a small volume figure contributes almost nothing to the sum. The weird one is that the formula contains no term for the open and no term for the previous close, so a stock can gap down five percent, finish the day near the high of its own range, and CMF will score that session as accumulation. Both fall out of the same three lines of arithmetic, and neither is a bug.

Quick Answer

Chaikin Money Flow in one paragraph

Chaikin Money Flow (CMF) is a volume-weighted accumulation and distribution indicator built by Marc Chaikin in the 1980s, plotted as a single line oscillating around zero below price. It is calculated in three steps. First, a money flow multiplier scores each bar on where its close landed inside its own high-low range, using ( ( close - low ) - ( high - close ) ) / ( high - low ), which returns +1 for a close at the high, -1 at the low and 0 at the midpoint. Second, that score is multiplied by the bar's volume to give money flow volume. Third, money flow volume is summed across a lookback window, conventionally 20 or 21 days because a trading month is roughly 21 sessions, and divided by total volume over the same window. The output is bounded between -1 and +1, though readings on a liquid stock rarely leave roughly -0.5 to +0.5. Above zero reads as net buying pressure or accumulation, below zero as net selling pressure or distribution, and many traders ignore the strip between about -0.05 and +0.05 because crosses inside it are noise. A divergence, where price makes a new high and CMF does not, is the signal most guides build around. It lags by construction, whipsaws in range-bound tape, is unreliable on thin names, and because the formula reads only high, low, close and volume, it cannot see a gap at all.

What Is Chaikin Money Flow?

It is a single line plotted in its own pane below price, oscillating around a zero line. The idea underneath it is old and intuitive: if buyers controlled a session, price should finish the session near the top of the range it traded in, and if sellers controlled it, price should finish near the bottom. Where the close lands inside the bar is treated as a proxy for who won the bar. Volume decides how much that verdict counts.

Marc Chaikin, a Wall Street analyst and trading-systems developer, built the indicator in the 1980s. It is his own refinement of the earlier Accumulation/Distribution Line idea: the A/D Line applies the same close-position-in-range logic but accumulates the result forever as a single running total, while CMF averages it over a fixed window and divides by volume, which is what bounds the output and makes two different stocks comparable. That is the whole lineage, and it is the reason CMF has a scale you can reason about while the A/D Line only has a slope.

The standard lookback is 20 or 21 periods, and both numbers ship as defaults depending on the platform. Twenty-one is the one with an actual justification behind it, since a trading month is roughly 21 sessions, so a 21-day CMF is answering the question "across the last month of trading, did bars tend to finish nearer their highs or nearer their lows, weighted by how much stock changed hands." Nothing about the formula is specific to equities, and it gets plotted on futures and crypto routinely, most often on daily and weekly charts.

Chaikin Money Flow is not the Money Flow Index

Worth settling immediately, because the names collide and the SERP for one is full of the other. CMF and the Money Flow Index share two words and nothing else. CMF is the ratio described above: money flow volume summed over a window, divided by volume summed over the same window, producing a number between -1 and +1 centred on zero, read as accumulation against distribution across roughly a trading month. MFI is a different construction entirely. It takes the typical price of each bar, the average of high, low and close, multiplies that by volume, splits the result into positive and negative flow depending on whether typical price rose or fell against the previous bar, and then runs the RSI formula over that ratio to produce a bounded 0 to 100 oscillator with a 14-period default, read for overbought and oversold. Different inputs, different maths, different scale, different question. If a guide treats them as interchangeable because both say "money flow," that is the guide telling you something about itself.

What Is the Chaikin Money Flow Formula?

The calculation, in three steps

1. Money Flow Multiplier = ( ( Close - Low ) - ( High - Close ) ) / ( High - Low )
2. Money Flow Volume = Money Flow Multiplier x Volume
3. CMF = sum of Money Flow Volume over N periods / sum of Volume over N periods

N defaults to 20 or 21. Note which four inputs appear: high, low, close and volume. The open is not one of them.

Step one is the part worth slowing down on, because everything else is bookkeeping. The multiplier is a position score. If the close equals the high, then ( High - Close ) is zero and the whole expression collapses to ( High - Low ) over ( High - Low ), which is +1. If the close equals the low, the same logic runs in reverse and you get -1. If the close lands exactly halfway, the two distances cancel and you get 0. Every other close produces something in between, scaled linearly.

Step two is where volume enters, and it enters as a straight multiplier rather than as a filter. A +0.50 bar on three million shares contributes six times what a +0.50 bar on five hundred thousand shares does. That is the entire mechanism behind the indicator's reputation for catching moves that price alone oversells: a drift higher on nothing barely registers, which is the same discipline behind checking participation before believing a move, just expressed as arithmetic instead of as a habit.

The multiplier scores one bar at a time, and one bar is all it can see

Chaikin money flow indicator diagram showing the money flow multiplier scoring where a bar closes inside its own high-low rangeA two-panel schematic. The left panel shows four identical price bars of the same high-low range with the closing price marked at a different height on each one. When the close sits at the high the money flow multiplier is plus one, at three quarters of the way up it is plus zero point five, at the midpoint it is zero, and at the low it is minus one. A note underneath explains that volume then scales the score, so the same plus zero point five on three million shares outweighs plus zero point five on three hundred thousand. The right panel shows a gap-down day. A dashed horizontal line marks the previous close at 48.25, a red arrow drops from it to a much lower bar, and that bar runs from a high of 46.10 to a low of 44.60 with the close marked at 45.90, near the top of its own range. An amber dashed box drawn around that single bar is labelled as everything the formula looks at, showing that the previous close and the gap sit outside it. The bar scores a multiplier of plus zero point seven three and is read as accumulation, on a session where the stock fell 4.9 percent.what the money flow multiplier measures( ( close - low ) - ( high - close ) ) / ( high - low )highlow+1.00close at high+0.50three quarters up0.00close at midpoint-1.00close at lowvolume then scales it: +0.50 on 3M shares outweighs +0.50 on 300kthe gap it cannot seethere is no open and no previous close in the formulayesterday's close 48.25down 4.9%on the day46.1044.60everything the formula looks atmultiplier +0.73close 45.90scored asaccumulationthe close finished 0.20 off its own high, so the multiplier reads +0.73. the stock was down 2.35 points on the sessionno open, no previous close, no memory. the multiplier's whole world is one bar's high, low and close
How the Chaikin money flow indicator scores a bar: close position inside the range, and the gap the formula structurally cannot see

Run it on numbers. Five bars instead of twenty, so the arithmetic stays visible, with the multiplier rounded to two decimals at each step so you can check every row by hand.

Chaikin Money Flow worked through five bars
a 5-bar window, shortened so the sums are checkable by hand
BarHigh / Low / CloseVolumeMultiplierMoney flow volumeWhat happened
1H 48.60 / L 47.20 / C 48.351,200,000+0.64+768,000Closed near the high. Ordinary bullish bar
2H 49.10 / L 48.10 / C 48.25900,000-0.70-630,000Pushed up, gave it back, closed near the low
3H 46.10 / L 44.60 / C 45.903,400,000+0.73+2,482,000Gapped down from 48.25 and closed 4.9% lower, but near its own high
4H 46.80 / L 45.50 / C 45.701,500,000-0.69-1,035,000Failed bounce, closed near the low
5H 47.40 / L 45.60 / C 47.202,000,000+0.78+1,560,000Strong close, near the high of a wide bar
TotalPrice net: 48.35 down to 47.209,000,000n/a+3,145,000CMF = 3,145,000 / 9,000,000 = +0.35

Look at what that window produced. Price went from 48.35 to 47.20 across the five bars, down about 2.4 percent, and CMF finished at +0.35, which sits in the band most guides describe as strong accumulation. Nothing was rigged to get there. Bar 3 did it: 3.4 million shares, the largest volume in the window by a wide margin, carrying a multiplier of +0.73 because the stock closed only 0.20 off the high of its own range. Strip bar 3 out and the remaining four bars give +0.12. One bar moved the reading by 0.23 and it was the bar on which the stock lost 4.9 percent.

You will never type this formula

Worth stating plainly because the search results suggest otherwise. Chaikin Money Flow is a standard built-in on effectively every charting platform in common use, TradingView, StockCharts and TC2000 among them, and the Pine Script implementations circulating in public script libraries match the three steps above with no proprietary variation to hunt for. There is no secret version and nothing to reverse-engineer. The reason to understand the formula is not that you need to implement it, it is that the arithmetic is where the indicator's two blind spots live, and you cannot see either of them from the plotted line. The StockCharts ChartSchool entry for Chaikin Money Flow gives the canonical step-by-step calculation, and the TradingView support page for the indicator documents what one major platform exposes as settings, which is a single period input and very little else.

How Do You Read the CMF Zero Line?

The scale is bounded between -1 and +1, and the bounds are honest but useless. Hitting +1 would require every bar in the window to close exactly at its high, which does not happen on anything with two-sided trading in it. Real readings cluster far tighter. Roughly -0.5 to +0.5 covers almost everything you will see on a liquid name, and some sources narrow the practically meaningful band further, to something like 0.10 to 0.40 in either direction. A reading of +0.30 is not thirty percent of the way to anything. It is near the top of the range the indicator actually occupies.

The zero line is the interpretation. Above zero says that across the window, bars tended to finish in the upper half of their ranges once weighted by volume, read as net buying pressure or accumulation. Below zero says the opposite, read as distribution. Sitting on zero says buyers and sellers are finishing bars in roughly the same places, which is balance rather than quiet: a violent session that opens at the low, runs to the high and closes in the middle produces the same multiplier as a session that never moved.

Because of that, a bare zero-line cross is a noisy trigger. A line hovering around zero will cross it repeatedly on nothing, and the common fix is a small buffer: treat only a move above roughly +0.05 as a genuine shift into buying pressure, and only a move below roughly -0.05 as a shift into selling pressure, ignoring everything between. That is not a tested parameter, it is a convention for throwing away the band where the indicator has nothing to say. The same reasoning is why an RSI level alone is a weak trigger without something confirming it, and the pattern repeats across most single-line oscillators.

CMF reading bands, and what each one is silent about
the theoretical scale is -1 to +1. the lived one is much narrower
ReadingConventional readWhat it is not telling you
+0.50 and aboveThe theoretical top half of the scale, and close to unheard of on a liquid nameAlmost every bar in the window would have to close at or near its high. Check the data and the lookback before you check the chart
+0.25 to +0.50Strong net buying pressure across the windowNothing about where price sits relative to any level, or whether the move it is describing already finished
+0.10 to +0.25Mild accumulation. The band most genuinely bullish readings actually live inWhether that came from one enormous bar or twenty ordinary ones, which are very different situations
+0.05 to +0.10Positive, but inside the noise buffer many traders apply around zeroEnough to act on. This is precisely the band the buffer exists to throw away
-0.05 to +0.05Balanced. Bars are finishing in roughly the same place on both sidesThat the tape is quiet. A violent two-way session reads identically to a dead one
-0.10 to -0.05Negative, and inside the same bufferEnough to act on, for the same reason as its mirror image above
-0.25 to -0.10Mild distributionWhether selling is accelerating or already fading. The level is a state, not a rate of change
-0.50 to -0.25Strong net selling pressure across the windowHow much of it came from a single high-volume bar that may not repeat
-0.50 and belowThe theoretical bottom half, with the same rarity caveat as the positive extremeSame answer. Suspect the inputs before you trust the signal

The column on the right is the one that matters. Every row of the middle column is a statement about the last twenty bars and none of them is a statement about the chart, which is why a CMF reading and the level price is currently sitting on are two independent facts that have to be combined by you rather than by the indicator.

Before you size it

CMF is positive and the stock looks strong. The remaining question is whether the structure around it supports a trade.

Upload the screenshot and SnapPChart reads that one image against a fixed rubric, then returns a setup grade, an entry, a stop with the reasoning behind the level, targets, and the reward-to-risk those levels imply. Arguing with the grade is cheaper than arguing with the fill.

Grade this chart

What Does a CMF Divergence Tell You?

Divergence is the signal most CMF guides build their examples around, and the logic is clean. Price makes a new high. CMF does not, either printing a lower high than it made at the previous price peak or staying below zero altogether. The reading is that the new high was made without the volume-weighted buying pressure that accompanied the last one, which is a warning that the push is thinning out. The mirror case runs at the lows: price makes a new low while CMF prints a higher low or turns positive, suggesting selling pressure is draining out of the decline.

Two honest qualifications, because the examples in most write-ups are chosen after the fact. Divergence is not a timing tool. A CMF divergence can persist for weeks while price keeps making new highs, and there is nothing in the construction that says how long the disagreement is allowed to run before it resolves, or which way it resolves. Plenty of them simply close by CMF catching up rather than by price rolling over.

And a CMF divergence is a weaker claim than it looks, because of what the indicator can be reading. A lower CMF high can mean genuine thinning of demand. It can also mean the window happens to contain one large gap bar whose multiplier is pointing the wrong way, or that a high-volume bar from the previous peak has just aged out of the lookback. The line moved either way. Only one of those is information. That is a good reason to treat CMF as one input among several rather than the thing that decides, which is the same conclusion the survey of which indicators genuinely measure different things reaches about almost every oscillator on the list.

Why CMF Reads Green on a Gap-Down Day

This is the failure mode the formula is structurally incapable of avoiding, and it is worth the space because almost nobody covers it properly.

Go back to the four inputs: high, low, close, volume. The open is absent. The previous close is absent. The money flow multiplier is computed entirely from prices that occurred within a single bar, with no reference to anything before it. Which means a gap, by definition the distance between one bar's close and the next bar's open, does not exist as far as the maths is concerned. The formula cannot see it. It is not weighted lightly or handled badly, it is simply not one of the numbers being read.

Bar 3 in the worked example is that case. The stock closed at 48.25, gapped down to open around 45.00, traded a range of 44.60 to 46.10, and closed at 45.90. A shareholder lost 4.9 percent that day. The multiplier looked at 45.90 sitting 0.20 below a high of 46.10 in a 1.50 range, computed +0.73, and scored the session as strong accumulation. Both descriptions are true. The stock fell hard, and within the range it fell to, buyers finished the day in control. CMF only reports the second one.

The mirror case is the one that costs money more often. A stock gaps up on good news, sells off all session, and closes near the low of the day but still well above yesterday's close. The chart shows a green day. CMF scores the bar close to -1 and can flip negative on the strength of it. That reading is arguably the more useful of the two, since a gap-up sold all day is a real distribution event, but it will disagree loudly with the price chart sitting directly above it, and if you have not internalised why, you will assume one of them is broken.

Here is the part that makes this more than a curiosity. Gaps come from news, earnings, guidance, upgrades, trial results, index changes. Those are exactly the sessions that print the highest volume of the month. And volume is the weight in step two. So the bar whose multiplier is most likely to disagree with what actually happened to the stock is also the bar with the most influence over the sum for the next twenty sessions. The distortion and the weight arrive on the same day, which is not a coincidence, it is the mechanism. One earnings gap can hold a CMF reading positive across a month in which the stock did nothing but bleed.

The fix is not a setting. It is looking at the chart. Before reading anything into a CMF value, find the highest-volume bars in the window and check whether any of them gapped. If one did, you know where most of the reading came from and you know it may be describing intraday range behaviour rather than the direction of the stock.

Where Chaikin Money Flow Breaks

The gap quirk is the specific one. The general ones are shared with most of the indicator shelf, and they are worth naming rather than discovering.

It lags, unavoidably. Every value is a rolling sum over bars that have already closed, so CMF describes what already happened over the last month and has no predictive term in it anywhere. It is also not a system. A number that says buyers finished recent bars near the highs has no view on trend, level, structure or risk, which is why every reasonable write-up pairs it with something that does: a moving average or ADX for regime, MACD or RSI for momentum, VWAP or a level map for where price actually is.

Conditions where the CMF reading stops meaning what you think
none of these are bugs. all of them are the formula working as specified
ConditionWhat CMF doesWhy it misleads
A gap dayScores the bar purely on where the close landed inside that day's rangeThere is no open and no previous close in the formula, so the gap is invisible. The reading can point the opposite way to the day's actual net change
An earnings or news barWeights that bar by its volume, which is usually the largest in the whole windowThe bar most likely to be distorted by a gap is also the bar with the most influence over the sum. The error and the weight arrive together
A thin, illiquid nameDivides by a small total volumeOne block print moves the reading further than a week of ordinary trading would. The denominator is too small to absorb anything unusual
A tight range-bound tapeCrosses zero repeatedly as bars finish alternately near their highs and their lowsEvery cross looks like a signal and none of them are. This is the condition the zero-line buffer exists for
A high-volume bar ageing out of the windowSteps, sometimes sharply, on a bar where price barely movedThe change came from the window rolling forward and dropping an old bar, not from anything traders did today
A sustained one-way trendCan sit pinned well above or below zero for weeks on endA pinned reading describes the trend rather than warning about it. Fading it is a trade against the one thing the indicator is confident about
A halted or locked bar where high equals lowHits a zero denominator in the multiplierImplementations conventionally substitute zero for that bar rather than error, so it silently contributes nothing to the numerator while its volume still counts below the line

Two rows in that table deserve to be pulled out. The illiquid-name row is the one that catches people scanning small caps: a nine-million-share denominator absorbs an odd block print without noticing, and a nine-hundred-thousand-share denominator does not, so the same event produces a rounding error on one chart and a signal on another. The ageing-out row is the one that catches everybody eventually: CMF is a rolling window statistic, so the line can step on a day when price barely moved, purely because a large bar dropped off the back of the lookback. Nothing about the market changed. The window did.

One rule set from the tutorial literature, shown to demonstrate the pairing

A combination that recurs across the tutorial literature, included here so you can see how the pieces are meant to fit rather than as anything I run or recommend: take long signals only when CMF crosses above +0.05 while price is trading above a rising EMA, and short signals only when it crosses below -0.05 while price is below a falling one. The EMA is supplying the regime read that CMF structurally cannot provide, and the buffer is discarding the zero-line chop. It is a coherent sketch and it is also untested by me and by most of the people reposting it. Treat it as a demonstration of the pairing logic, not as a strategy.

Where CMF Fits on a Real Chart

It answers one question well: across the last month or so of trading, weighted by how much stock actually changed hands, did bars tend to finish nearer their highs or nearer their lows. That is a genuinely useful thing to know and it is not visible from the price chart at a glance, which is the whole case for plotting it. What it cannot contribute is anything about where price is, what it is approaching, whether the structure is clean, or how much you should risk. The sensible order is regime, structure, then CMF as a participation check on what the first two already suggested, which is the same layering logic behind the broader technical analysis overview and behind treating volume as confirmation rather than as a trigger in an intraday momentum playbook. The Corporate Finance Institute reference on CMF lays out the same interpretation conventions if you want a second wording of them.

Reading a CMF value without fooling yourself
the number is objective, what it describes is narrower than it looks
You checked the lookback setting, because 20 and 21 are both defaults and they are not the same readingPASS
You found the highest-volume bars in the window and checked whether any of them gappedPASS
You know the practical range is roughly -0.5 to +0.5, so +0.30 is a high reading rather than a middling onePASS
You are ignoring everything between about -0.05 and +0.05 rather than trading crosses inside itPASS
Something other than CMF told you what regime the market is inPASS
Reading a positive CMF as a buy signal with no reference to price, level or structureWATCH
Trusting a divergence without checking whether a big bar just aged out of the windowWATCH
Running it on a thin small cap where one block print swings the denominatorWATCH
Assuming the line is broken because it disagrees with a gap day on the chart above itWATCH

What a chart grader can and cannot see here

Worth being straight about, since this site sells a tool. SnapPChart has no Chaikin Money Flow field. It does not compute a money flow multiplier, it does not sum money flow volume, it holds no lookback window and carries no dedicated state for a CMF value the way it does for the moving average stack, the VWAP relationship, the MACD cross and volume behaviour. What it does is read a chart screenshot you upload, so if you plot CMF in a lower pane on your own platform before taking that screenshot, that line is part of what the analysis sees, as a shape drawn beneath the price chart. That is a picture of an oscillator, not a verified computed value: it cannot confirm your period is 21 rather than 20, it cannot tell you that the reading is being held up by one gap bar from three weeks ago, and it cannot know whether the line just stepped because an old high-volume bar rolled out of the window. Which indicator states a screenshot-based read genuinely carries and which it only infers from shape is the subject of the wider guide to how AI reads a chart, and a neutral description of what a single chart read covers sits on the AI chart analysis page. If a CMF reading is the reason you are taking the trade, verifying that reading stays your job.

The short version to act on

Chaikin Money Flow scores each bar by where its close sat inside its own high-low range, multiplies that by volume, and divides the running sum by the running volume over 20 or 21 bars. Output is bounded -1 to +1 but practically lives between about -0.5 and +0.5, so treat 0.30 as a high reading. Above zero is net buying pressure, below is net selling pressure, and the band between roughly -0.05 and +0.05 is noise worth ignoring. It lags, it whipsaws in chop, it is unreliable on thin names, and it is not a system on its own. The specific thing to remember is that the formula uses only high, low, close and volume, so it cannot see a gap: the highest-volume bar of the month is also the one most likely to be scoring the opposite of what happened to the stock that day.

Frequently Asked Questions

Is Chaikin Money Flow the same thing as the Chaikin Oscillator?

No, and they are easy to mix up because the same person built both. Chaikin Money Flow is a ratio: the sum of money flow volume over a window divided by the sum of volume over the same window, which is why it is bounded between -1 and +1. The Chaikin Oscillator is a momentum reading taken on a different series entirely, the difference between a 3-day and a 10-day exponential moving average of the Accumulation/Distribution Line. One is a windowed average of buying pressure, the other measures how fast a cumulative line is changing. They will frequently disagree, and neither is wrong when they do.

What CMF value is a buy signal?

There is no such number, and any guide that hands you one has stopped describing the indicator and started inventing. CMF is a scaled average of where recent bars closed inside their own ranges. It carries no information about price level, trend, structure, or what the rest of the chart is doing, so a reading of +0.28 on a stock breaking out of a three-month base and the identical +0.28 on a stock two points into a failed move are the same number describing two completely different trades. The conventional framing is directional rather than triggering: positive readings describe net buying pressure over the window, negative readings describe net selling pressure, and the decision about whether to act on that belongs to the rest of your process.

Why does my CMF reading differ between two charting platforms?

Three things cause it, in roughly this order of likelihood. First, the lookback: 20 and 21 are both shipped as defaults depending on the platform, and a one-bar difference in the window changes the sum on both the top and the bottom of the ratio. Second, the bar data itself: if one chart includes extended-hours trading in its daily bar and the other does not, the high, the low, the close and the volume are all different numbers, so the multiplier is different before any averaging happens. Third, split and dividend adjustment of the historical series. Check the period setting first, because it is the one that is almost always the answer.

Can you use Chaikin Money Flow on a 5-minute chart?

Mechanically yes, and every platform will happily plot it. Two things change. The window stops meaning a trading month and starts meaning a hundred minutes, so a reading that would describe a month of accumulation on a daily chart now describes part of one session. And intraday volume is not evenly distributed: the opening and closing ranges carry an outsized share of the day's shares, so a handful of bars near the bell dominate the denominator and the reading can swing hard for reasons that are about the clock rather than about anybody's conviction. It still works, but you are reading a different statistic than the daily version.

Does CMF work on forex and crypto?

Crypto, yes, with a caveat: the volume figure is whatever your data source aggregates, and exchange coverage varies enough that two feeds can produce visibly different readings on the same asset. Forex is the harder case. Spot forex is decentralized and has no consolidated volume print, so what your platform labels volume is almost always tick volume, meaning the number of price updates in the bar rather than the size traded. Tick volume correlates with activity and is not useless, but every conclusion the formula draws is now about update frequency rather than shares or contracts. Worth knowing before you read too much into the number.

What happens when a bar's high equals its low?

The denominator of the money flow multiplier becomes zero and the expression is undefined. It happens on locked or halted bars, on very illiquid names that print one price all session, and occasionally on low-timeframe bars in a dead tape. Standard implementations substitute zero for that bar rather than error out, which means the bar contributes nothing to the numerator while its volume still lands in the denominator. On a normal liquid chart this never matters. On a thin one it quietly drags the reading toward zero.

Disclaimer

This article is for educational and informational purposes only and is not investment, financial or trading advice. The Chaikin Money Flow formula, the 20 and 21 period defaults, the -1 to +1 bounds, the zero-line interpretation, the divergence conventions and the attribution of the indicator to Marc Chaikin in the 1980s are the conventional published accounts reproduced by charting platforms and reference sources. The five-bar worked example is an illustrative construction built to make the arithmetic checkable, not a real security or a real trading session, and no price, volume or reading in it should be read as a market observation. The typical reading bands, the plus or minus 0.05 zero-line buffer, the pairing suggestions and the example entry rule set quoted are configurations commonly cited in that literature rather than tested or recommended parameters, and no combination of them is claimed to be profitable. Nothing here is a backtest of my own and no edge is claimed or implied. Indicator readings describe what price and volume have already done and do not predict what they will do next. Day trading and active trading carry a substantial risk of loss and are not suitable for every investor. SnapPChart grades a static chart screenshot you upload and returns a setup grade, entry, stop, targets and reasoning for that single image; it does not calculate Chaikin Money Flow, a money flow multiplier, money flow volume, an Accumulation/Distribution Line, a Money Flow Index value or any other indicator or oscillator value itself, does not track indicator states it has not been shown, does not scan the market, and does not track your account, positions or P&L. It can only account for indicators that are visibly drawn on the image you upload. Do your own analysis, size positions so that being wrong is survivable, and consider speaking to a licensed financial professional about your own circumstances before trading.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Writes about AI-assisted day trading, technical analysis, and the systems traders actually use to stay disciplined.

A positive CMF says buyers finished recent bars near the highs. It has no opinion on whether the chart around that is worth your money.

The line is an average of bar closes weighted by volume, and it stays exactly as positive whether price is breaking out of a clean base or three attempts into a level that keeps rejecting. Upload the screenshot and SnapPChart reads that one image against a fixed rubric, then returns a setup grade, an entry, a stop with the reasoning behind the level, targets, and the reward-to-risk those levels imply.

Grade your setupNo card required