Schaff Trend Cycle: MACD run through a stochastic, twice

How the Schaff Trend Cycle is built from MACD and stochastic smoothing, why it turns earlier than either, and what it costs to be that fast.

Schaff Trend Cycle is free on Basis — the button opens a live crypto chart with it already applied. No account, no trial and no limit on how many indicators you add.

Open the chart

What it measures

The Schaff Trend Cycle applies the stochastic calculation to a MACD line, then applies it again to the result. The output is a fast, bounded oscillator that turns well before conventional trend indicators.

It was designed on the observation that trends move in cycles, and that a cyclical reading of a trend measure identifies turns sooner than the trend measure itself.

What it buys is lead time on a MACD signal, typically several bars. What it pays is a much higher rate of turns that go nowhere, because a MACD line can rotate inside its own range without price doing anything at all.

How it is calculated

These are the steps Basis performs, verified against the published definition.

  1. 1

    Compute a MACD line from a fast and a slow exponential average.

  2. 2

    Apply the stochastic formula to the MACD line — where it sits in its own recent range — and smooth the result.

  3. 3

    Apply the stochastic formula a second time, to that smoothed series, and smooth again.

  4. 4

    The result is bounded between 0 and 100.

Settings

SettingDefaultRange
Cycle101 – 500
Fast231 – 500
Slow501 – 500
Sourcecloseprice source

The cycle length controls the stochastic lookback and is the parameter that matters most. Lengthening it slows the oscillator toward MACD behaviour and removes most of the reason to use it.

How to read it

  • Crossings of 25 and 75 are the conventional triggers, and they arrive noticeably earlier than a MACD signal crossover would.
  • The indicator spends most of its time pinned at one extreme or the other, which is by design — it is meant to say which regime you are in, not how far along it is.
  • The speed is bought entirely with sensitivity, so it produces more false turns in a range than the MACD it is built from.
  • Because it is bounded, it cannot express how strong a move is — only where the underlying MACD sits in its recent range. A pinned reading during a violent trend looks identical to a pinned reading during a slow one.

Where it misleads

Two rounds of stochastic normalisation mean the output is a measure of a measure of a measure, and it is easy to forget how far it sits from price. A Schaff turn is a statement about the MACD line’s position in its own range — not about price making a high or low. When it disagrees with price it is usually the indicator being abstract, not the market being wrong.

Plot Schaff Trend Cycle on a live chart

Basis is free. Every indicator, every chart type, order flow, derivatives, screening and backtesting — no paid tier and no account needed to open a chart.

Open a chart with STC

Updated 2026-08-22 · Educational reference, not financial advice.