What Is a Worked Example of Schaff Trend Cycle?

Explore What is a worked: mechanics, differences, limitations, and practical checks.

Direct answer: a worked example in numbers

A worked example of Schaff Trend Cycle (STC) is a step-by-step calculation on a small, hypothetical price sequence. The goal is not to predict anything, but to show how the indicator’s intermediate values are produced from defined inputs.

Because STC is parameterized and depends on specific formulas, the example below states every assumption explicitly:

  • Use “price” equal to the closing price.
  • Use a sequence of five prices: 10, 12, 11, 13, 12.
  • Choose short and long smoothing lengths of 3 and 4 periods.
  • Use a cycle length of 2 periods for the final % transformation.
  • Use simple moving average (SMA) as the smoothing method.
  • Use a basic % range transform: (value − lowest) / (highest − lowest) * 100.
  • Assume the required “intermediate series” has enough history to compute from the first shown point onward.

With those assumptions, you can reproduce each step and see how the indicator value is constructed from the data.

Mechanics: what STC transforms and where values come from

STC is an oscillator designed to reflect the cycle position of price by combining:

  1. A smoothed version of price (often built using MACD-style intermediate steps in standard descriptions).
  2. A normalization step that converts a smoothed series into a 0–100 range using rolling highest/lowest over a chosen window.
  3. A smoothing step applied again to the normalized series.

In this worked example, the key idea is the same even if different implementations vary: STC repeatedly (a) smooths and (b) rescales using rolling minima and maxima. That means its output is partly determined by the transformation rules and partly by the parameter window sizes.

Evidence or example: one complete numerical scenario

Step 1: define the input series

Prices (t=1..5):

  • t1=10
  • t2=12
  • t3=11
  • t4=13
  • t5=12

Step 2: create smoothed values (SMA under our assumption)

Using SMA length 3 for the first smoothed series (SMA3):

  • At t3: SMA3 = (10 + 12 + 11) / 3 = 33 / 3 = 11
  • At t4: SMA3 = (12 + 11 + 13) / 3 = 36 / 3 = 12
  • At t5: SMA3 = (11 + 13 + 12) / 3 = 36 / 3 = 12

Using SMA length 4 for a second smoothed series (SMA4):

  • At t4: SMA4 = (10 + 12 + 11 + 13) / 4 = 46 / 4 = 11.5
  • At t5: SMA4 = (12 + 11 + 13 + 12) / 4 = 48 / 4 = 12

Step 3: form an intermediate difference series

Define Diff = SMA3 − SMA4 (only where both exist):

  • At t4: Diff = 12 − 11.5 = 0.5
  • At t5: Diff = 12 − 12 = 0

Step 4: apply rolling % range with cycle length 2

Now normalize Diff over a rolling window of 2 periods using the % range rule:

  • At t5, the 2-period window for Diff is [t4, t5] = [0.5, 0].
    • lowest = 0, highest = 0.5
    • %range at t5 = (Diff − lowest) / (highest − lowest) * 100
    • %range at t5 = (0 − 0) / (0.5 − 0) * 100 = 0

Under our simplified “second step” assumption, STC is taken as the normalized %range value (no extra smoothing shown here). Therefore, the worked output for the final point in this toy dataset is:

  • STC(t5) = 0

What this example demonstrates

  • The indicator can move to 0 when the current Diff equals the rolling minimum of the chosen window.
  • Changing the window sizes, smoothing method, or normalization rule would change the numerical result even on the same prices.

Limitations and risks: what can fail or mislead

Material limitations to understand before you compute or compare values:

  1. Implementation differences: STC definitions vary in how they build intermediate steps (including common MACD-style components) and how smoothing is applied. Two “STC calculators” can produce different numbers even when they use the same parameter labels. 2) Parameter sensitivity: Because normalization uses rolling highest/lowest, different cycle lengths and smoothing lengths can materially change the oscillator scale and timing. 3) Flat-range failure mode: If the highest and lowest values over the lookback window are equal, the denominator becomes zero in the % range formula. Implementations must define what happens then (for example, returning a fixed value or skipping computation). 4) Over-interpreting history: Historical relationships (even if they looked consistent during backtests) do not establish future behavior, especially across different market regimes.
Trading foreign exchange and CFDs involves substantial risk. Information on FoxiForex is educational and is not personal financial advice. Sponsored placements are labelled clearly.