# Double Stochastic

A Momentum & Oscillators concept (Stochastics) in the LuxAlgo Library, with 1 indicator implementation.

## What is a Double Stochastic?

A Double Stochastic runs the stochastic calculation twice. Price is first converted into a [Stochastic Oscillator](https://www.luxalgo.com/library/concept/stochastic-oscillator/) reading; that output is then ranked within its own range a second time, with smoothing at each stage, producing a 0-100 oscillator that is far smoother than a raw %K yet still travels decisively into its extremes.

The name covers more than one published recipe. The variant usually credited to Walter Bressert applies the %K formula twice with [EMA](https://www.luxalgo.com/library/concept/ema/) smoothing after each pass, while William Blau's double-smoothed stochastic applies two stages of exponential smoothing separately to the numerator (close minus lowest low) and the denominator (the high-low range) before taking their ratio. Both trade a little extra lag for a large cut in false wiggles, and both are read like a conventional stochastic.

The two authors also brought different intents. Bressert was a cycle trader, and his double stochastic was built as a swing-timing tool whose troughs and crests could be read against expected cycle windows; Blau's double-smoothing came from his broader momentum work of the 1990s, where smoothing components before dividing (rather than smoothing the ratio) preserves responsiveness while suppressing noise, the same trick behind his True Strength Index.

The behavioral consequence of either recipe is the same: fewer, cleaner extremes. A raw stochastic saturates constantly; the double version visits its bands deliberately, dwells there in trends, and turns with rounded shoulders that make peak-to-peak comparisons legible. The cost is the family's usual one, bars of lag at genuine turns, which is why the tool reads best as a swing-grade oscillator confirming faster triggers rather than generating them.

## How to read a Double Stochastic

Read it as a slow stochastic with earned extremes; the variant and settings decide the details.

1. Identify the variant first: a two-pass %K (Bressert style) and double-smoothed components (Blau style) behave similarly but not identically.
2. Note the settings: each pass or stage carries its own length, and platform defaults differ enough to change signal frequency materially.
3. Read extremes as deliberate: visits to the overbought and oversold bands are less frequent than on a raw stochastic and correspondingly more meaningful.
4. Use the rounded turns for divergence: smoothed peaks and troughs make price-versus-oscillator comparisons cleaner than fast-line wiggles allow.
5. Respect the lag: turns confirm swings rather than anticipate them, so entries usually come from a faster trigger the double line vets.
6. Gate by regime: like every bounded oscillator, extreme readings inside strong trends are persistence, not reversal setups.

## How it's calculated

A stochastic of a smoothed stochastic, giving a 0 to 100 momentum reading that reacts like a fast stochastic but with less noise.

```
K_t = 100 × (C_t - LL_n) / (HH_n - LL_n)
S_t = EMA_p(K_t)
K2_t = 100 × (S_t - S_min) / (S_max - S_min)
DS_t = EMA_p(K2_t)

  K_t: first-pass stochastic at bar t (0 to 100)
  C_t: closing price of bar t
  HH_n: highest high over the last n bars
  LL_n: lowest low over the last n bars
  EMA_p(x): p-period exponential moving average of x
  S_t: smoothed first-pass stochastic at bar t
  S_max: highest value of S_t over the last n bars
  S_min: lowest value of S_t over the last n bars
  K2_t: second-pass stochastic at bar t (0 to 100)
  DS_t: Double Stochastic value at bar t (0 to 100)
  n: lookback length for the highs and lows (commonly 13)
  p: EMA smoothing length (commonly 8)
  t: bar index
```

Defaults follow Walter Bressert's DSS; implementations also ship n of 10 to 21 and p of 3 to 9.

William Blau's Double Smoothed Stochastic is a named variant that instead double-smooths numerator and denominator separately: 100 × EMA(EMA(C - LL_n)) / EMA(EMA(HH_n - LL_n)).

Readings above 80 and below 20 are the usual overbought and oversold zones.

## How traders use it

- Overbought/oversold swing timing: because the double pass suppresses noise, visits to the extreme zones are less frequent and treated as more deliberate, faded in ranges or used for pullback entries in the trend's direction.
- Divergence work: the smoothed turns make peak-to-peak comparisons against price cleaner than on a fast stochastic, so bullish and bearish divergences are a common application.
- As slow confirmation behind a fast line: some setups require the double stochastic's direction to agree before acting on a fast stochastic's cross.
- In cycle-timing frameworks: the Bressert lineage reads the oscillator's troughs against expected cycle windows, buying oscillator lows that arrive on schedule, a use that survives wherever swing rhythm is measurable.
- For [divergence](https://www.luxalgo.com/library/concept/regular-bullish-bearish-divergence/) confluence: pairing the double stochastic's smoothed swings with a differently built oscillator applies the standard rule that agreement between unlike constructions outweighs either alone.

## Double Stochastic vs related oscillators

- **Stochastic Oscillator** (https://www.luxalgo.com/library/concept/stochastic-oscillator/): The parent: one ranking pass, fast and noisy, saturating at extremes constantly. The double version trades bars of lag for legibility, visiting its bands deliberately and turning smoothly enough to compare swing against swing.
- **Stochastic RSI** (https://www.luxalgo.com/library/concept/stochastic-rsi/): The opposite engineering goal: Stochastic RSI ranks RSI within its own range to amplify sensitivity, manufacturing fast extremes. The double stochastic suppresses them. One is caffeine, the other decaf, and they suit opposite complaints about the base oscillator.
- **Stochastic Momentum Index** (https://www.luxalgo.com/library/concept/stochastic-momentum-index/): The SMI refines the stochastic differently: it measures the close against the range midpoint with double smoothing, yielding a centered, signed oscillator. The double stochastic keeps the classic 0-100 close-in-range framing and spends its smoothing on the same construction run twice.

## FAQ

### Is a Double Stochastic the same as Stochastic RSI?

No. Both are indicator-of-indicator constructions, but [Stochastic RSI](https://www.luxalgo.com/library/concept/stochastic-rsi/) feeds RSI values into the stochastic formula to make a deliberately fast, jumpy oscillator, while a double stochastic feeds the stochastic back through itself (or double-smooths its components) to make a deliberately smooth one. They sit at opposite ends of the noise spectrum and behave very differently at their extremes.

### What settings does a Double Stochastic use?

There is no single standard. Each stochastic pass has its own lookback and each smoothing stage its own short period, and platforms differ both in defaults and in which published variant they implement, Bressert's two-pass version or Blau's double-smoothed components. The usual trade-off applies: longer values mean fewer, slower signals; shorter values mean earlier turns with more noise.

### What is the difference between the Bressert and Blau versions?

Where the smoothing lives. Bressert's runs the complete %K formula twice, smoothing after each pass: a stochastic of a stochastic. Blau's smooths the raw numerator and denominator separately through two exponential stages, then divides, which preserves more responsiveness for the same smoothness. On a chart they read alike; in fast conditions Blau's version typically turns slightly sooner.

### Does the double smoothing ruin divergence timing?

It delays the pivots by a few bars, and that is usually a fair price: divergence work needs confirmed swing points, and the double line's rounded turns produce fewer false pivots to compare in the first place. The signal that suffers most is the fast extreme-and-snap trade, which properly belongs to quicker oscillators; the double stochastic's divergences are swing-grade by design.

### Where does a Double Stochastic fit between trends and ranges?

Its extreme-fade readings belong to ranges, like every stochastic, while in trends its value flips to the pullback side: oversold visits within an uptrend mark correction depth, and the smoothed line's direction serves as swing confirmation. The double smoothing does not exempt it from the family's core rule that regime decides which readings mean anything.

### Why does it visit its extremes so rarely?

Each smoothing stage pulls readings toward the middle: a single wild bar that would pin a raw %K at 95 gets averaged against its neighbors, twice. Only sustained one-sided closes can walk the double line into its bands, which is precisely the filtering the design buys, extremes that certify a persistent push rather than one bar's anatomy.

## Implementations in the Library

- Double Stochastic (LuxAlgo): https://www.luxalgo.com/library/indicator/double-stochastic/

## Related concepts

- Stochastic Oscillator: https://www.luxalgo.com/library/concept/stochastic-oscillator/
- Stochastic Momentum Index: https://www.luxalgo.com/library/concept/stochastic-momentum-index/
- DSS Bressert: https://www.luxalgo.com/library/concept/dss-bressert/
- Adaptive Stochastic: https://www.luxalgo.com/library/concept/adaptive-stochastic/
- Premier Stochastic: https://www.luxalgo.com/library/concept/premier-stochastic/
- Stochastic Pop: https://www.luxalgo.com/library/concept/stochastic-pop/

---

Source: https://www.luxalgo.com/library/concept/double-stochastic/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/