Cycle Indicators
Hilbert Transform indicators -- dominant cycle period, phase, phasor, and sine for identifying repeating price patterns.
What are Cycle Indicators?
Cycle indicators attempt to detect repeating patterns in price data -- rhythmic oscillations where the price moves up and down at a somewhat regular interval. Think of a pendulum: if the market is swinging between support and resistance on a predictable rhythm, cycle indicators try to measure that rhythm and tell you where in the swing you currently are.
All four cycle indicators in Simula are based on the Hilbert Transform, a signal processing technique borrowed from electrical engineering. John Ehlers adapted it for financial markets to separate the cyclic component of price movement from the trend component.
The Core Idea
Markets alternate between two modes: trending (price moves persistently in one direction) and cycling (price oscillates back and forth within a range). Standard trend indicators like MACD and ADX work well in trending markets but generate false signals in cycling markets. Cycle indicators try to identify when the market is in cycling mode and measure the characteristics of that cycle.
A cycle has two properties: its period (how many candles it takes to complete one full oscillation) and its phase (where in the oscillation the price currently sits -- near the top, near the bottom, or somewhere in between).
The Indicators
HT_DCPERIOD (Dominant Cycle Period)
Estimates the length of the dominant cycle in the current price data, measured in candles. If HT_DCPERIOD outputs 20, the Hilbert Transform has detected a repeating pattern that takes roughly 20 candles to complete one full cycle.
The dominant cycle period changes over time as market conditions shift. In a calm, ranging market, the period may be stable. In a trending or chaotic market, the period estimate can jump around because there is no clean cycle to detect.
HT_DCPHASE (Dominant Cycle Phase)
Reports where in the current cycle the price is, measured in degrees (0 to 360). Think of a clock face: 0/360 degrees is the start of a new cycle, 90 degrees is a quarter of the way through, 180 degrees is the midpoint, and 270 degrees is three-quarters through.
If you know both the period (how long the cycle is) and the phase (where you are in it), you can estimate how many candles until the next turning point. This is the theoretical appeal of cycle analysis -- though in practice, cycles in financial markets are noisy and inconsistent.
HT_PHASOR (In-Phase and Quadrature)
Outputs two components: the In-Phase (real) and Quadrature (imaginary) parts of the Hilbert Transform. These are the raw building blocks from which the other cycle indicators are derived. The In-Phase component tracks the cycle itself, while the Quadrature component is shifted 90 degrees ahead.
Most traders will not use HT_PHASOR directly. It is primarily useful for building custom cycle analysis or verifying the behavior of the other Hilbert indicators.
HT_SINE (Sine and Lead Sine)
Outputs two oscillating lines: the Sine of the dominant cycle phase and a Lead Sine (shifted ahead by 45 degrees). These two lines weave back and forth like sine waves. Crossovers between the Sine and Lead Sine can signal cycle turning points -- similar in concept to a MACD signal line crossover, but based on cycle phase rather than moving averages.
HT_SINE is the most "tradeable" of the four cycle indicators because its crossovers produce discrete signals. However, these signals are only meaningful when the market is genuinely cycling -- in a trending market, the cycle measurements break down and the crossovers become unreliable.
Reference Table
| Indicator | Output | Display | Parameters |
|---|---|---|---|
| HT_DCPERIOD | Cycle length (candles) | Separate panel | none |
| HT_DCPHASE | Phase angle (0-360 degrees) | Separate panel | none |
| HT_PHASOR | In-Phase + Quadrature (two lines) | Separate panel | none |
| HT_SINE | Sine + Lead Sine (two lines) | Separate panel | none |
None of the cycle indicators have user-configurable parameters. The Hilbert Transform adapts automatically to the data.
Related: HT_TRENDMODE
There is a fifth Hilbert Transform indicator -- HT_TRENDMODE -- which is categorized under trend indicators rather than cycle indicators. HT_TRENDMODE outputs 1 when the Hilbert Transform detects that the market is trending and 0 when it detects cycling behavior. It uses the same underlying math as the indicators on this page but answers a different question: "is the market trending or cycling right now?"
Common Mistakes
Expecting clean, regular cycles
Financial markets are not electronic circuits. Price data is noisy, and cycles are irregular -- they stretch, compress, and sometimes disappear entirely. The Hilbert Transform will always output a dominant cycle period, even when the data has no meaningful cyclical component. There is no built-in confidence indicator that tells you whether the detected cycle is real or noise.
Using cycle indicators in trending markets
Cycle analysis assumes the price is oscillating. In a strong trend, the "cycle" detected by the Hilbert Transform is an artifact of the math, not a real market pattern. Use ADX or HT_TRENDMODE to filter out trending periods before relying on cycle signals.
Where to Go Next
Oscillators -- RSI, Stochastic, and CCI, which detect overbought/oversold conditions without requiring cycle detection.
Trend Indicators -- ADX and HT_TRENDMODE for determining whether the market is trending or cycling.
Mean Reversion -- strategies that profit from price oscillations, which is the market behavior cycle indicators are designed to detect.