Author: Doug Schaff
The Schaff Trend Cycle (STC) indicator is a powerful cyclical oscillator designed to provide more accurate trading signals by utilizing the Stochastic and MACD lines. What sets the STC apart is its ability to filter out short-term market noise, delivering more stable and dependable results. When there’s a significant shift in market conditions, the STC will alert you, so you’re always informed.
Developed by economist Doug Schaff, this indicator is based on the idea that currency trends rarely move randomly. Over time, trends tend to revert to a mean, leading to predictable cycles of rises and falls. This periodicity enhances the reliability of the Schaff Trend Cycle, a concept validated by extensive research conducted in 2008. Schaff's mathematical model laid the groundwork for this innovative indicator.
To further improve accuracy and reduce false signals, the STC combines two different methodologies for assessing trend changes: the smoothed stochastic oscillator and MACD. This unique approach boosts the indicator's reliability.
The STC operates on a scale from 0 to 100, featuring two key trigger levels at 25 and 75. Here’s a quick breakdown of the parameters you’ll want to set:
- MAShort (default: 23) - This is the period for the fast moving average used in the MACD calculation. Remember, it should not fall below the MALong value.
- MALong (default: 50) - This sets the period for the slow moving average in the MACD calculation and must always be greater than MAShort for optimal performance.
- Cycle (default: 10) - This defines the length of the cycle in chart periods. The effective cycle will be twice as long since two stochastic calculations occur sequentially.
When trading with the STC, a simple strategy is to sell when the indicator dips below 80 and to buy when it rises above 20. To minimize false signals, Doug Schaff recommends observing the following patterns: for a buy signal, the bar after the trigger bar should close above the trigger bar’s high, and for a sell signal, it should close below the trigger bar’s low. The trigger bar is the one that forms above the 20 or 80 signal lines.
This iteration of the STC allows you to choose from ten different smoothing algorithms:
- SMA - Simple Moving Average;
- EMA - Exponential Moving Average;
- SMMA - Smoothed Moving Average;
- LWMA - Linear Weighted Moving Average;
- JJMA - JMA Adaptive Average;
- JurX - Ultralinear Smoothing;
- ParMA - Parabolic Smoothing;
- T3 - Tillson's Multiple Exponential Smoothing;
- VIDYA - Smoothing with Tushar Chande's Algorithm;
- AMA - Smoothing using Perry Kaufman's Algorithm.
It's crucial to note that the Phase parameter varies significantly across different smoothing algorithms:
- For JMA, it’s an external Phase variable ranging from -100 to +100.
- For T3, it’s a smoothing ratio multiplied by 100 for better visualization.
- For VIDYA, it refers to the CMO period, while for AMA, it indicates the slow EMA period.
- For AMA, the fast EMA period is fixed at 2 by default, and the raising power ratio is also set to 2.
The STC leverages the SmoothAlgorithms.mqh library classes (make sure to copy these to your terminal_data_folder\MQL5\Include). The use of these classes is thoroughly detailed in the article "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".

Related Posts
- Mastering the Open Range Breakout Indicator for MetaTrader 5
- ID Lite Info MA: A Comprehensive Indicator for MetaTrader 5
- Understanding the Cycle Period Indicator for MetaTrader 5
- Unlock Trading Insights with Volume Profile + Range v6.0 for MetaTrader 5
- Unlocking Trading Insights with Volume Profile + Range v6.0 for MetaTrader 5