WhitmanTrading

Stochastic vs MACD

The stochastic oscillator compares the close with the recent high-low range on a fixed scale. MACD subtracts one moving average from another and has no limits at all, so one reads the last few bars and the other reads acceleration over a longer window.

One of the most common two-indicator setups there is. A fast bounded oscillator underneath a slower unbounded one, described as covering each other’s weaknesses. They share an input, which is the part that gets left out.

What each one is

The stochastic oscillator compares the latest close with the recent high-low range, on a fixed scale from nought to one hundred. It is fast and it moves a lot. Stochastic covers it.

MACD subtracts one moving average from another and plots the difference with a signal line, on a scale with no limits. MACD covers it.

Both take closing prices and nothing else. That is the single fact the confirmation argument has to survive, and it does not.

Where they differ

A price series with a fast bounded oscillator beneath.
Fast, bounded, reading a short window. Illustrative chart - not real market data.

How much history each reads. The stochastic looks at a short recent range. MACD’s averages cover considerably more bars, so the two are describing different stretches of the same series.

The second half of a price series with an unbounded difference beneath.
Slower, unbounded, reading acceleration. Illustrative chart - not real market data.

Whether the scale is fixed. One cannot leave its range; the other can print anything. That makes one comparable across instruments and the other not.

A slice of price data where a fast reading and a slow one disagree.
Different windows disagree at every turn. Illustrative chart - not real market data.

What each measures. Position within a recent range against whether two averages are separating. Those are genuinely different questions, which is the strongest thing that can be said for the pairing.

How often each signals. The stochastic reaches extremes constantly in an active market. MACD crosses its signal line far less often, so the two produce very different trade counts.

Where they agree

A window of price data feeding one shared input.
One column of closes drives both. Illustrative chart - not real market data.

Both are computed from the same closes. Whatever they say, they say it about the same numbers, so neither is an independent check on the other.

Both lag. Every value in either was produced from bars that have already closed, and neither can turn first.

Both fail in a range. On this site’s shared series direction runs average 2.01 bars with a longest of 11 — short runs cross MACD’s signal line repeatedly and pin the stochastic at both ends.

And both cost a round trip per signal acted on — about 2% of the median bar range of 0.493 here — which the faster of the two pays far more often.

Which one to use

A range-bound stretch of price producing signals in both panels.
A range fires both, constantly. Illustrative chart - not real market data.

Run MACD when you want acceleration. Whether the gap between two averages is widening is a question the bounded oscillator cannot answer at all.

A slow-moving stretch of price with a fast oscillator turning.
For the last few bars, the fast reading is the one. Illustrative chart - not real market data.

Run the stochastic when the last few bars are what you care about. A short window is genuinely different information, and on a fixed scale it is comparable between instruments.

Run both only if you assign them different jobs — one for direction and one for timing — and never treat their agreement as evidence. Splitting the work is defensible; calling it confirmation is not.

And when the reason for the pairing is that it is what everybody uses, drop one. Two views of the same closes produce confidence without adding anything to base it on.

Why the divergence between them is mostly window length

A candlestick chart annotated with the round-trip cost of a switch.
Every signal acted on costs a round trip. Illustrative chart - not real market data.

Because a short window and a long one must disagree at turns. The fast reading has already turned while the slower one is still averaging the bars before it, and that is arithmetic rather than a signal.

A section of a price series drawn without volume context.
And a thin market makes both readings unreliable together. Illustrative chart - not real market data.

And because any two series diverge somewhere. Without a written definition of what counts — how many bars, how large a gap — the pattern is always available in hindsight.

What to settle before running the pair

Decide which one sets direction. If both do, they will conflict regularly and the conflict will be resolved by whichever one agrees with what you already wanted to do.

Write down what divergence means. How many bars apart, how large a separation, measured on which peaks. Without those numbers it is a shape you recognise afterwards.

Count both trade counts separately. The fast tool produces many more signals, and a combined rule inherits that count along with its costs.

And fix every parameter first. Between them there are five numbers to choose, and adjusting any of them after a losing run makes the previous record unusable.

The original data

Of the 24,971 unique videos in research/search-study-corpus.jsonl, no title compares these two directly — this pair is constructed from two subjects the corpus covers separately. Separately, MACD appears in 473 titles at a median of 3,534 across 339 channels, and the stochastic in 184 at a median of 11,915 across 136. The counts come from site/corpus_count.py.

A candlestick series with several gaps, the largest of them marked.
A gap moves both panels at once. Illustrative chart - not real market data.

473 videos on one at 3,534 and 184 on the other at 11,915. Two and a half times the coverage and under a third of the audience per video — the more heavily taught indicator of this pair is the less watched one, which is a pattern that repeats across the saturated subjects on this site.

A stretch of price bars cut short at a decision point.
Fast one turned, slow one has not. Wait or act? Illustrative chart - not real market data.

The answer to the question on that chart is that the disagreement is a window-length artefact. The fast tool turns first on every turn, real or not — so waiting for the slower one is not confirmation, it is simply choosing the later of two readings of the same closes.

When it fails

The failure is treating their disagreement as divergence, and it manufactures signals endlessly. The fast oscillator turns down while MACD is still rising, which is read as momentum weakening ahead of price. It happens at every pullback in every trend, because a short window always turns before a long one. Some of those are followed by reversals, most are not, and reviewing afterwards you will find the ones that worked and remember the pattern as reliable.

The second failure is treating their agreement as confirmation. They share an input.

A third is trading every stochastic extreme. It reaches them constantly.

A fourth is comparing MACD levels across instruments. The scale is unbounded.

A fifth is running both with no assigned jobs. They will conflict weekly.

And a sixth is optimising five parameters together. That is fitting, not testing.

Stochastic covers the fast bounded oscillator. MACD covers the unbounded difference of averages. And the MACD crossover covers the signal the pair is usually traded on.

What I actually do

The pairing is everywhere and the logic behind it is thin. A fast bounded reading and a slower unbounded one will disagree at turns simply because they look at different numbers of bars — that disagreement gets called divergence, and it is mostly a difference in window length.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money.