Trend & directionSchaff 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
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.
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.