WhitmanTrading

What Is the McClellan Oscillator?

McClellan oscillator measures market breadth by taking the difference between advancing and declining stocks and smoothing it with two exponential averages. It describes participation rather than price, so an index can be rising while the oscillator falls — which is the divergence it exists to show.

Covered on this page: TradingView.

An index price is a weighted average, and averages hide distributions. The McClellan oscillator exists to look at the distribution — how many things are actually going up.

How it works

Start with net advances. Count the stocks that rose on the day, subtract those that fell. That single number is the raw breadth reading.

Then smooth it twice and take the difference. A fast exponential average minus a slow one, applied to net advances rather than to price. The construction is the same idea as a MACD, pointed at participation.

A rising index with narrowing participation.
An index can rise while breadth falls. Illustrative chart - not real market data.

The output is a line oscillating around zero. Positive means breadth is improving relative to its recent trend; negative means deteriorating.

And the interesting case is disagreement. An index making new highs on falling breadth means fewer and fewer names are doing the work, which the price chart cannot show you.

Why the index hides this

Most indices are weighted by size. A handful of very large companies can move the index by more than hundreds of small ones combined, so the headline number reflects a few names rather than the market.

Breadth counts every constituent equally. One company is one vote regardless of size, which is why the two measures can point in opposite directions for extended periods.

That also limits where it applies. You need a whole exchange or index membership to compute it. There is no McClellan oscillator for one stock, one currency pair or one commodity — the measure has no meaning below the level of a market.

A worked example

Suppose an index rises 8% over two months while the oscillator falls steadily.

What that describes is narrowing. The index gained, so the largest components rose. The oscillator fell, so more constituents were declining than advancing. Both are true, and only one is on the chart most people watch.

This is genuine information and it is not a timing signal. Narrowing can persist for months. The divergence says the advance rests on fewer names; it does not say when that matters, and acting on it early is the standard way the observation costs money.

Day-to-day price direction is close to a coin toss — the S&P 500 closed up on 53.1% of trading days from 1950 to 2026 — and that is the scale at which price moves. A breadth divergence unfolding over months is a completely different timescale, and pairing a slow observation with a fast instrument is where the mismatch bites.

What it is good for

Context rather than entries. Knowing whether an advance is broad or narrow changes how much confidence a position deserves, without dictating the position.

Spotting exhaustion in an index without a price signal. The price chart looks healthy by definition at a high; breadth is one of the few places the weakness is visible while the price is not.

And confirming a low. A washed-out breadth reading with heavy declines is at least a measurement of capitulation, which price alone does not supply.

The original data

The S&P 500’s daily closes from January 1950 to September 2026: 53.1% of days closed up, 59% of ten-day windows finished higher, and the longest wait for a new record ran 1,897 trading days, from January 1973 to July 1980.

That upward drift is the caution that matters here. Breadth divergence is an argument that an advance is fragile, and the long-run tendency of a broad index has been to rise more often than not. Being early against that is expensive, and the oscillator provides no timing to reduce the exposure.

The summation index

Running totals of the oscillator give the McClellan Summation Index, which is the same data accumulated rather than differenced.

It moves far more slowly and turns far less often. Where the oscillator swings around zero many times a year, the summation index describes multi-month conditions — so the two answer different questions from the same input.

The oscillator is the derivative; the summation is the level. Reading them as two signals rather than one measurement at two speeds is a common mistake, and it produces contradictions that are not really contradictions.

Both share the same limitation. Neither is a timing tool, both require a whole market to compute, and both describe participation rather than price. Adding the second one doubles the reading without adding a single piece of information about when anything happens.

How this connects

A breadth indicator, not a price one. It is built from advancing minus declining issues across a whole market rather than from one instrument’s closes.

That makes it genuinely different from most technical analysis tools on this site, which are rearrangements of a single series.

It is two exponential moving averages of that breadth line subtracted - so structurally it is a MACD applied to participation instead of price.

Market trend is what it is read for, on the reasoning that a rise carried by few stocks is weaker than one carried by many.

And it needs a defined universe. The reading depends entirely on which exchange or index the advance-decline data covers.

When it fails

The characteristic failure is shorting an index on a breadth divergence. The observation is real and often correct eventually, and “eventually” is doing enormous work. Narrowing advances have continued for months at a time, and a short taken when the divergence first appears carries financing, pays costs, and faces a broad index whose ten-day windows ended higher 59% of the time between 1950 and 2026. Being right about fragility and wrong about timing produces the same outcome as being wrong.

A second failure is applying it to a single instrument, where it does not exist.

A third is comparing readings across exchanges. The scale depends on how many stocks are listed, so one market’s extreme is not another’s.

A fourth is treating index membership changes as breadth changes, when constituents are added and removed for administrative reasons.

One instrument's bars and volume, with no breadth data anywhere on it, ending at the bar tagged here.
Breadth is falling while the index rises. Act? Illustrative chart - not real market data.

And a fifth is using it alone. It is a context measure, and a context measure with no entry rule attached is an opinion rather than a plan.

One practical note on the data. The advance-decline line it is built from counts every listed issue, including preferred shares, funds and trusts on some exchanges. Those are not operating companies, and on a venue with many of them the breadth reading is partly measuring something other than the stock market. Which issues are included is a detail worth checking before treating any extreme as meaningful.

Volume covers the other participation measure and how it differs. Market trend covers the price structure breadth is being compared against. And technical analysis covers the wider tradition.

The practical check

Breadth is the one thing an index price genuinely hides. A handful of very large companies can carry an index higher while most of the market falls, and the index chart shows none of it. That is a real blind spot and this is the tool that looks into it.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money. Some links on this page earn a commission if you buy through them. It costs you nothing and it does not decide what appears here or in what order — how these pages are made is set out in our methodology.