
Corona Cycle Period Indicator MT4
Corona Cycle Period is a free, instant-download MT4 diagnostic tool from TrendLaboratory that estimates the length, in bars, of the market's currently dominant price cycle. Rather than generating buy or sell signals, it's built to answer a different question — "how many bars long is the market's current rhythm right now?" — and it can…
Download the Corona Cycle Period Indicator MT4Corona Cycle Period is a free, instant-download MT4 diagnostic tool from TrendLaboratory that estimates the length, in bars, of the market’s currently dominant price cycle. Rather than generating buy or sell signals, it’s built to answer a different question — “how many bars long is the market’s current rhythm right now?” — and it can optionally paint a colored “Corona” glow effect showing the strength of nearby candidate cycles.
How the Dominant Cycle Is Derived
Step 1 — Price Preparation
The indicator builds a price series from the selected Price mode (0–10, default 4 = Median Price), optionally sourced from a different TimeFrame than the chart it’s attached to. That series is passed through a high-pass filter and a 6-bar weighted smoothing pass, stripping out the longer-term trend so only the cyclical component of price remains — a classic Ehlers-style “roofing filter” preprocessing step.
Step 2 — Scanning Candidate Cycle Lengths
For every candidate cycle length from 11 to 59 bars, the code runs an adaptive band-pass filter that produces in-phase and quadrature components, converts those into an amplitude reading, and smooths that amplitude into a decibel-style measurement. In plain terms: for each of those 49 possible cycle lengths, it’s continuously measuring how strongly a cycle of that specific length is currently showing up in price.
Step 3 — Picking the Winner
Only the candidate periods with the strongest (lowest decibel) readings are kept, and they’re combined into a single weighted-average estimate, which is then passed through a 5-bar median filter for stability. That final number — the estimated dominant cycle length in bars — is what gets plotted as the Dom Cycle line.
Step 4 — The Optional “Corona” Glow
When VisualMode allows it, the decibel strength of all 49 candidate periods is drawn as small colored rectangles that blend from LineColor toward the FuzzR/FuzzG/FuzzB color as signal strength increases — a purely visual heat-map layered behind the Dom Cycle line. It doesn’t affect the plotted line’s value.
How to Use It
This indicator isn’t meant to be traded directly. Its practical purpose is to feed its output — the current dominant cycle length — into other cycle-adaptive tools (adaptive moving averages, MESA-style oscillators, and similar) so their own lookback periods can be tuned to what the market is actually doing right now, rather than left at a fixed default. A rising Dom Cycle reading means price swings are stretching out (slower, larger-scale movement); a falling reading means the market’s rhythm is compressing into shorter, choppier swings.
Input Parameters
- TimeFrame (default 0) — timeframe in minutes to calculate on; 0 uses the chart’s current timeframe.
- Price (default 4) — price series used in the calculation (0=Close, 1=Open, 2=High, 3=Low, 4=Median, 5=Typical, 6=Weighted Close, 7–10=Heiken Ashi variants).
- LineColor (default Yellow) — base color of the Dom Cycle line and Corona glow.
- FuzzR / FuzzG / FuzzB (default 255 / 0 / 0) — RGB target color the Corona glow blends toward as cycle strength increases.
- VisualMode (default 0) — 0 = Dom Cycle line + Corona glow, 1 = Dom Cycle line only, 2 = Corona glow only.
- CoronaBars (default 1000) — number of recent bars over which the Corona glow rectangles are drawn.
Repaint Behavior
Corona Cycle Period does not repaint. Its main loop only processes bars from the last calculated point forward (rolling back one bar each tick to refresh the still-forming candle), and its recursive filter state only advances when a genuinely new bar’s timestamp is detected. Once a bar’s Dom Cycle value is written, it isn’t revisited or changed by later ticks.
Limitations
- It’s computationally heavy — scanning 49 candidate cycle lengths per bar, plus potentially hundreds of chart rectangle objects for the Corona glow, which can slow chart redraws with a large
CoronaBarssetting. - The indicator window’s display range is fixed at 5–31 regardless of what the underlying math computes, so extreme readings outside that band may appear visually clipped.
- Using a
TimeFramehigher than the chart’s own requires that higher-timeframe history be available; a freshly opened chart may show gaps until enough of that history downloads. - It’s an informational/diagnostic reading, not a directional signal — it always needs to be paired with a separate trend or momentum tool to be actionable.
- TimeFrame (default 0) — Timeframe in minutes to run the calculation on; 0 uses the chart's current timeframe.
- Price (default 4) — Price series used in the calculation (0-10; 4 = Median Price, (High+Low)/2).
- LineColor (default Yellow) — Base color of the Dom Cycle line and the starting color of the Corona glow blend.
- FuzzR (default 255) — Red component of the RGB color the Corona glow blends toward as cycle strength increases.
- FuzzG (default 0) — Green component of the RGB color the Corona glow blends toward as cycle strength increases.
- FuzzB (default 0) — Blue component of the RGB color the Corona glow blends toward as cycle strength increases.
- VisualMode (default 0) — 0 = Dom Cycle line + Corona glow, 1 = Dom Cycle line only, 2 = Corona glow only.
- CoronaBars (default 1000) — Number of recent bars over which the Corona glow rectangles are drawn.
FAQs About the MT4 Corona Cycle Period Indicator MT4
What does the 'Dominant Cycle' number actually mean?
It’s the estimated length, in bars, of the market’s currently strongest recurring price cycle, derived from an adaptive band-pass filter that scans candidate cycle lengths from 11 to 59 bars and picks the strongest ones.
Does Corona Cycle Period repaint?
No. It only recalculates new or still-forming bars using a counted-bars style limit rather than reprocessing the whole chart every tick, so previously plotted values don’t change once a bar closes.
What is the 'Corona' glow effect and how do I turn it off?
It’s an optional colored heat-map of how strongly each of the 49 candidate cycle lengths is currently showing in price, drawn as small rectangles behind the Dom Cycle line. Set VisualMode to 1 to show only the Dom Cycle line without the glow.
Can I calculate this on a higher timeframe than my chart?
Yes — set the TimeFrame input to the desired minute value (e.g. 240 for H4). Just be aware a freshly opened chart may need time to download enough higher-timeframe history first.
Is this a buy/sell indicator?
No. It’s an informational/diagnostic tool meant to be used alongside other indicators — its output (the dominant cycle length) is designed to help tune the lookback period of separate trend or oscillator tools, not to generate trade signals on its own.
