Trend & direction

Schaff Trend Cycle · STC

Doug Schaff's oscillator that runs a stochastic over MACD to catch trend turns earlier than MACD alone.

Works in most conditionsEngine-computed on a fixed sample series
145120962080Above 80 = overboughtBelow 20 = oversold
STC 86.68%D 87.66How to read STC on the chart — the callouts mark what to look for.

The formula

Compute MACD, then treat that line as the input series to a stochastic %K and smooth the result twice. The output cycles between 0 and 100 and is designed to hook up or down ahead of MACD's own crossovers.

STC = Stochastic( MACD line ), double-smoothed onto a 0–100 scale

What the Schaff Trend Cycle is

The Schaff Trend Cycle (STC) is a trend oscillator created by currency trader Doug Schaff in the late 1990s to catch trend changes earlier than MACD while remaining smoother than a raw stochastic. Its central idea is that trends themselves move in cycles, so it takes MACD — a trusted trend and momentum measure — and runs a stochastic-style cycle calculation over it, producing a responsive line bounded between 0 and 100. The result aims to combine MACD's sense of trend direction with the stochastic's early, contained turning signals, giving a tool that hooks up and down at cycle turns ahead of a conventional MACD crossover. It is especially associated with trending FX markets, the arena Schaff traded. For a beginner, think of it as MACD passed through a filter that makes its turns sharper, faster, and easier to read on a fixed 0-to-100 scale.

How the STC is calculated

The STC is built in layers. First it computes a MACD line, typically from a 23-period and a 50-period exponential moving average. Then it treats that MACD line as if it were price and applies a stochastic calculation over a cycle length, with 10 the default, finding where the MACD sits within its own recent high-low range, and smooths that result. Crucially it then runs a second stochastic pass over the smoothed first result and smooths again, a double-stochastic process that produces the final 0-to-100 STC line. This layered smoothing is what makes the output look decisive and cyclical rather than jagged. The defaults — a fast length of 23, a slow length of 50, a cycle length of 10, with a smoothing factor around 0.5 — can all be adjusted to change its speed.

Reading the STC, step by step

The STC oscillates between 0 and 100 with 25 and 75 as the key thresholds. A line turning up from below 25 flags an emerging uptrend, and a line turning down from above 75 flags an emerging downtrend — the direction of the hook and the zone it turns in matter more than the exact number. Because it is engineered to lead, its turns are designed to precede MACD's own crossovers, giving earlier notice of a cycle change. Many traders also color the line by slope, treating rising STC as bullish and falling as bearish regardless of level. The flat stretches at the top and bottom of the range indicate a strong, persistent trend where the oscillator has saturated, so the actionable signals are the turns away from those extremes, not the time spent pinned at them.

Reading the signals on the chart

145120962080
STC 86.68%D 87.66The ▲/▼ marks flag the most recent crossings of the 20 and 80 lines — the classic oversold / overbought signals.

Best timeframes

  • Scalping1m – 5m
  • Day trading5m – 15m
  • Swing1H – 4Hpopular on FX
  • PositionDaily

STC was popularised on trending FX pairs — pair it with a higher-timeframe trend filter to avoid its false turns in ranges.

STC vs its ingredients

STCMACDStochastic
Scale0–100Unbounded0–100
Built fromMACD + stochasticTwo EMAsHigh–low range
Turns vs MACDEarlierBaseline
Best inTrendsTrendsRanges

Common price-action setups

How the signal typically plays out on the chart.

Hook up from 25

STC turns up through 25 in line with the higher-timeframe trend — buy the hook with a stop below the recent swing low.

Buy 25 hook-up
Uptrend emerging
Rollover from 75

STC rolls down out of the 75 zone — sell or exit longs with the stop above the recent swing high.

Sell 75 rollover
Downtrend emerging
Trend ride

While STC holds its rising cycle above the midline in a trend, stay with the move and trail the stop, ignoring minor wiggles.

Ride the trend
Trend continuation

Best timeframes and settings

The STC was popularized on intraday and swing FX charts and works across 15-minute to daily timeframes, wherever trends develop cleanly. The defaults of 23 and 50 for the MACD, a cycle length of 10, and a 0.5 smoothing factor are the common starting point. Shortening the cycle length or the MACD periods makes the STC faster and more sensitive, producing earlier but noisier turns, while lengthening them calms the line at the cost of lag. Because it already carries heavy smoothing, over-tuning toward speed can make it whipsaw in choppy conditions. The trade-off is the familiar one, and most traders leave the defaults intact and instead add a separate trend filter rather than trying to make the STC do everything.

When and where to use it

The STC performs best in trending markets, particularly the sustained directional moves common in major FX pairs, where its early turns catch new legs while filtering minor noise. It is less reliable in genuinely rangebound markets, where it can whipsaw between its extremes as price chops sideways. It applies to any liquid instrument with clean trends — currencies, indices, and liquid stocks — but should be paired with a higher-timeframe trend read to avoid counter-trend traps. Avoid treating it as a pure leading indicator without a directional filter, because its speed cuts both ways and it will occasionally hook prematurely. The regime that suits it is a market that trends and pauses, not one that grinds endlessly sideways.

Strategies that use the STC

The primary strategy trades turns out of the extreme zones in the direction of the higher-timeframe trend: buy when the STC hooks up through 25 while the daily trend is up, and exit or reverse when it rolls over from above 75. A trend-filtered variant only takes STC buy hooks when price is above a longer moving average and sell hooks when below, ignoring counter-trend turns entirely. A momentum-continuation strategy uses the STC staying pinned above 75 as confirmation to hold a long through a strong trend, acting only when it finally breaks down out of the zone. Across these, the stop typically sits beyond the recent swing that formed as the STC turned, and the trend filter is what keeps the fast oscillator from dragging you into chop.

Combining the STC with other indicators

The STC needs a trend filter more than most oscillators, so it pairs naturally with a 200-period moving average or ADX to establish the dominant direction and screen its signals. Support and resistance or Fibonacci levels give its extreme-zone turns a price context to react from. Because it is derived from MACD, running the actual MACD alongside it lets you see the STC lead and the MACD confirm, using the lag between them as a two-stage entry. Volume or a volatility tool can help distinguish a genuine trend turn from noise-driven flicker. It deliberately should not be paired with another fast, similarly constructed oscillator, since stacking two leading tools just multiplies false signals rather than confirming them.

Where the STC fails

The STC's smoothing, which makes it look so decisive, can also make it lag or flat-line at the extremes during strong trends, so it sometimes signals a turn late or saturates and gives no fresh signal while a trend runs. In truly rangebound markets it whipsaws between 25 and 75 as price chops, generating a string of false hooks. The biggest mistake is trusting it as a pure leading indicator without a trend filter, which invites counter-trend entries every time it hooks early against a strong move. Because it is several transformations removed from price, its signals can occasionally fire on noise in the underlying MACD. The remedy is always a directional filter and the discipline to trade its turns only in the direction of the larger trend.

A worked example

Picture a EUR/USD 1-hour chart in a clear uptrend, with price above its 200-hour moving average. After a pullback, the STC has fallen to 18, below the 25 line, and then hooks upward, printing 22 then 31 on successive bars — a turn up out of the oversold zone in the direction of the established trend. A trader buys as the STC crosses back above 25 at 1.0850, placing a stop below the recent swing low at 1.0820. The STC climbs and eventually saturates above 75 as the uptrend extends, and the trader holds through that strength, watching for the exit. Several hours later the STC finally rolls over from 82 back below 75; the trader exits at 1.0910, banking the move. The trend filter ensured the buy hook was taken with the trend, not against it.

Common mistakes

  • Treating STC as purely leading without a trend filter, which invites false turns.
  • Trading its hooks in genuinely rangebound markets, where it still whipsaws.
  • Misreading a flat-line at the extreme in a strong trend as a signal.
  • Over-trusting the 25 / 75 hooks with no confirmation from price.
  • Ignoring higher-timeframe direction when taking the turns.