Get started

Building an Overbought and Oversold Composite That Does Not Fire Too Early

A single oscillator screams overbought halfway up a trend and keeps screaming for weeks. Here is how to blend several inputs so an extreme only flags when they actually agree.

The complaint I hear most about oscillators is that they lie to you during trends. RSI crosses 70 somewhere in the first third of a real move, and then it sits up there for weeks while price keeps grinding higher. If you treated that first cross as a sell, you were early, and being early over and over is expensive. Being early feels a lot like being wrong once your account has drained a bit.

The core problem is that any single indicator only measures one thing. RSI measures the ratio of up moves to down moves over a lookback. That is momentum, and momentum saturates fast. Once a market is trending, the momentum reading pins near its ceiling and stops telling you anything new. It has said its piece. Asking it to also tell you when the crowd is fully committed, or how far price has stretched from its own average, is asking a screwdriver to do the job of three tools.

So the fix I keep coming back to is not a better oscillator. It is a small committee of them, where each member measures a different flavor of extreme, and where I only act when several of them agree at once. One indicator blinking is noise. Three of them lighting up together is closer to something worth respecting.

Three flavors of stretched

When I say a market is overbought, I usually mean one of three loosely related things, and they do not always show up at the same time. Blending them is the whole point, because the moments when all three coincide are rarer and more meaningful than any one on its own.

  • Momentum stretch. How lopsided has recent price action been. RSI, a stochastic, or the rate of change all live here. This flavor fires earliest and quiets down slowest, which is exactly why it is a bad standalone trigger.
  • Positioning stretch. How crowded or committed the participants are. Funding rates on perps, put-call skew, a survey of sentiment, or the ratio of longs to shorts on venues that publish it. This flavor tends to peak later, closer to actual turns, because it takes time for the crowd to fully pile in.
  • Distance from mean. How far price has physically wandered from a moving average or a regression line, measured in standard deviations or ATR units rather than raw percent. Bollinger width and z-scores live here. This one is honest about magnitude in a way momentum is not.

The reason to blend across these three rather than stack three momentum indicators is that momentum tools mostly agree with each other. RSI and stochastic and rate of change are near duplicates. Confirming a momentum signal with another momentum signal buys you almost nothing. You want inputs that can disagree, because the disagreement is information. When positioning has not gotten crowded yet, a momentum extreme is probably just a strong trend, and I would rather sit on my hands.

Turning raw indicators into one number

Raw indicators are not comparable. RSI runs zero to a hundred, funding is a tiny percentage, a z-score is unbounded and can be negative. Before I can average anything I have to put them on the same footing. The step that makes this work, and the one people skip, is normalizing each input against its own recent history rather than against some fixed textbook level.

My rough recipe looks like this. For each input, compute a rolling percentile or a z-score over a lookback long enough to cover a full cycle of that indicator, so maybe a few hundred bars. That converts every reading into a common language of how extreme is this versus how extreme this particular thing usually gets. RSI at 72 might be a genuine outlier for a sleepy pair and completely ordinary for a volatile one. Percentile-ranking against the asset's own history handles that automatically, and it means I do not have to hand-tune thresholds per market.

Then I score each normalized input as a simple vote. Above its 90th percentile, it votes overbought. Below its 10th, oversold. In between, it abstains. The composite is the count of votes, or a weighted sum if I trust some inputs more than others. I keep the weights boring and mostly equal, because the moment you start fine-tuning weights on past data you are curve-fitting a story about the past.

The confluence threshold is the whole trick. I do not flag an extreme when one input votes. I flag it when, say, three of five agree in the same direction. That single rule is what cuts the false-alarm rate, because the trend-riding false positives almost always come from the momentum vote firing alone while positioning and distance-from-mean stay calm. Requiring consensus makes the momentum indicator wait for the others to catch up.

How to sanity check it before trusting it

A composite can lull you into false confidence because it looks sophisticated. So I put it through a few checks before it earns any say in a decision.

  1. Plot the composite under price for a long, ugly trending stretch. If it pins at max the whole way up like a naked RSI would, your inputs are too correlated. Swap one momentum input for a positioning one.
  2. Count how often the full threshold fires versus how often a single input fires. If they fire at nearly the same rate, your consensus rule is not actually filtering anything, which usually means your inputs move together.
  3. Check what happens right after a fire. Not whether it nailed the exact top, that is a fantasy, but whether the forward return distribution shifts at all. A useful overbought reading should make the next stretch of returns a little worse on average, not perfectly, just detectably.

The honest caveat is that this is a mean-reversion tool wearing a confluence costume, and mean reversion has a failure mode. In a genuine regime break, a real breakout or a blow-off, everything will read extreme together and the composite will hand you a beautiful high-conviction fade right into a move that keeps going. Consensus does not save you there, because the consensus is real, the market simply is that stretched and intends to get more so. I treat a composite extreme as a reason to tighten risk, trail a stop, or scale out, rather than as a hard reversal signal. Reduce, do not reverse.

That framing is the practical payoff. A single oscillator gives you a binary it cannot back up. A blended composite with a consensus threshold gives you a graded read on how many independent kinds of stretched are true at once, and you can size your response to the count. When I am building screens for something like Blockcircle I lean on that graded version, because two votes and five votes deserve very different reactions, and one indicator alone can never tell you which one you are looking at. It waits for the room to agree before it says anything, which is roughly what you want from a tool whose whole job is telling you a move might be tired.

WRITTEN BY
Blockcircle Team

Financial market intelligence covering crypto, stocks, commodities, precious metals, and prediction markets.