Opens in a new tab
Corona Cycle Period Indicator MT4

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 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 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 CoronaBars setting.
  • 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 TimeFrame higher 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.
Download the Corona Cycle Period Indicator MT4
  • 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

One Quick Step

Enter your name and email and check your inbox for the download link.