Stochastic: What the Oscillator Shows and Where It Fails
The stochastic oscillator shows where a bar's close sits inside the range of the last N bars. The original idea was an observation about price behaviour: in a rally, closes cluster near the top of the range; in a decline, near the bottom.
Stochastic oscillator: how it is calculated
The %K line compares the close against the period's high and low and expresses the result as a percentage: near the upper boundary it approaches 100, near the lower it approaches zero. The second line, %D, is a smoothed %K, and it is the crossing of the two that counts as a signal — not simply entering a zone. The standard 14, 3, 3 settings define the lookback and two smoothing passes.
How often it signals on real data
We ran the rule "%K(14,3,3) above 80 or below 20" over daily bars for 12 currency pairs — 518 bars each, about two years. We counted frequency rather than profit: how often the state changes and what share of days the indicator spends in signal.
- State changes over the period: 76 (median across pairs)
- Annualised: 37.8
- Share of days in signal: 32.6%
- Sample: 12 pairs, 518 daily bars
The measurement is reproducible: the script and data are in the site's repository and the conditions are described in the methodology. Frequency is not return: it says only how often you will have to make a decision.
How it differs from RSI
RSI measures the ratio of average gains to average losses; stochastic measures the close's position inside a range. The practical consequence is that stochastic is noticeably jumpier — it pins to 0 and 100 far more often, because the range is refreshed on every bar. In exchange it has two lines instead of one, and a crossover gives a more precise moment than the vague 'entered the zone' of RSI.
Where it goes wrong
In trends, like every oscillator. Our measurement shows the indicator sits above 80 or below 20 on a third of all days — that is not a rare state, it is an ordinary one. Mechanically selling every overbought reading in an uptrend means trading against the market a third of the time. A regime filter here is not an improvement but a precondition: see why knowing when not to enter matters.
Fast, slow and full stochastic
Three names describe one family with different depths of smoothing. Fast uses raw %K and its 3-bar average. Slow takes a smoothed %K and smooths it again — this is the 14, 3, 3 default in most terminals. Full adds a third free parameter for smoothing %K. The trade-off is consistent: every extra smoothing pass removes false crossovers and pushes the signal later. Our 38 signals a year refer to the slow variant; the fast one produces considerably more, and most of the increase is noise.
How to apply it
Two sensible scenarios. In a range: enter from the boundary back toward the middle on a %K/%D crossover, with a stop beyond the extreme. In a trend: take only pullbacks in the direction of the trend, meaning buy oversold readings in an uptrend and ignore overbought ones. There is no third scenario — trading both directions without a filter produces the result we recorded in the oscillator-plus-trend-filter run.
This material is for educational purposes and is not individual investment advice.
Frequently asked questions
What does the stochastic oscillator show?
The position of the closing price inside the range of the last N bars, as a percentage. Near the upper boundary the reading approaches 100, near the lower it approaches zero.
What counts as a stochastic signal?
The crossing of the %K and %D lines, not the act of entering a zone. Entering a zone only says closes are pressed against one edge of the range.
Why does stochastic mislead in trends?
Because in a sustained move it stays in the zone for long stretches. Our measurement puts it there on a third of all days, so the zone is an ordinary state rather than a reversal signal.
New backtest studies — to your inbox
When a new reproducible study comes out or the data is updated, we send a short email. No spam, no "signals", no selling your address.
By leaving your email you agree to receive occasional emails from the portal. Unsubscribe in one click from any of them.