Quant for Free
Home / Analysis / Regime filter
Strategy teardown · regime labels · EURUSD M15

Can ADX/Hurst regime labels be trusted?

The pitch is simple: label the market TREND or RANGE (and step aside in chaos), then run the matching strategy. We exported real regime episodes from a MetaTrader pipeline on EURUSD M15 — from liberal R/S Hurst labeling, through multi-filter retunes, to HTF structure / strong filters. The labels either over-call TREND and churn, or collapse into NEUTRAL and erase RANGE. That is a regime-switch problem, not a “missed one threshold” problem.

What this page is / isn’t. This is an episode-quality study of regime labels (occupancy, duration, efficiency, flip rate) from validator CSVs — not a tick-level PnL report of the trading EA, and not investment advice. For the vocabulary of trend vs regime, see Quant for Life — regime vs trend.

1 / The hypothesis, and the pipeline

If ADX and Hurst (and friends) can mark “trend regimes” and “range regimes,” a switcher EA can trade MA crossovers in TREND and mean-reversion tools in RANGE, and stand down in HIGH_VOL. We built that stack in MetaTrader, then built validators that only label and log episodes — because the first question is whether the labels are usable at all.

Sample for the tables below: EURUSD M15, episode window roughly 2023-09 → 2025-12 (~852 days), from exported Regime_*.csv files.

2 / Occupancy: liberal TREND vs NEUTRAL swamp

Stacked bar chart of regime occupancy percent bars across four EURUSD M15 exports
Share of M15 bars by regime label across successive exports. Early run lives in TREND; later runs live in NEUTRAL.
Export (EURUSD M15)% TREND% RANGE% NEUTRAL% HIGH_VOL
Early R/S-style episodes73.3%11.5%12.7%2.5%
V1 retuned multi-filter22.4%3.5%72.4%1.6%
MTF HTF-primary2.0%0%97.4%0.7%
V2 StrongFilter16.4%0%83.6%~0%

Two failure modes show up immediately:

  1. Too easy to be “in TREND.” The early export spends about three-quarters of bars in TREND. If almost everything is TREND, the regime gate is not selecting environments — it is rebranding the whole sample.
  2. Too hard to leave NEUTRAL. Once filters tighten (V1 / V2 / MTF), NEUTRAL becomes the main state (72–97% of bars). RANGE almost disappears under StrongFilter and MTF. A dual book (trend or range) has nothing to switch to.

3 / Churn: labels as noise sources

Horizontal bar chart of regime flips per year for each export
Approximate flips per year = episode transitions. Early and V1 churn is extreme on M15.

Even with hysteresis in the MQ4 (confirm bars), episode transitions imply on the order of 1,000+ flips per year for the early and V1 exports, and still ~300+ for MTF/StrongFilter. On a 15-minute chart that is not a calm “state machine” — it is a label process that can itself become a trading cost if you act on every change.

Mean TREND episode length under MTF is only about 7 bars (~1.75 hours of M15). That is permission to trade, not a multi-day “regime” in the economic sense people imagine when they say the word.

4 / TREND efficiency is not the only scoreboard

TREND mean efficiency vs percent of bars in TREND across exports
Mean path efficiency of TREND episodes (left) vs how often TREND is declared (right).

When a TREND episode is declared, mean path efficiency sits roughly in the 0.55–0.60 band across exports — not catastrophic, and above the validator’s old “below 0.30” warning.line. The more damaging pattern is structural:

So the research path that led from “ADX/Hurst switcher” toward structure / HTF strong filters is rational: you stop pretending to maintain a full four-state classifier and keep a stricter trend-permission concept instead. That is a design retreat with evidence — not a marketing upgrade.

5 / V1 vs V2 in one glance

V1 retuned multi-filterV2 StrongFilter
% TREND bars22.4%16.4%
% NEUTRAL bars72.4%83.6%
% RANGE bars3.5%0%
TREND mean efficiency0.550.58
Flips / year (approx.)~1030~332

V2 is calmer than V1 on churn and slightly “pickier” on TREND, but it does not resurrect a healthy RANGE state. If the product goal was “automatic trend or range,” neither export delivers a balanced switch. If the goal is “only trade when structure allows,” V2 is closer — and that is already a trend filter story more than a regime-HMM story.

6 / Clean-room strategy books (H1) — does switching help?

Caveat. Free EURUSD M15 history is too short for a multi-year engine, so the strategy layer is a H1 clean-room (Yahoo, ~2023-10 → 2026-08), not a tick-faithful MT4 replay. Costs: 0.5 pip per side on position changes. No ATR stops, trailing, or % risk sizing — only signal + regime gate. Compare the ordering of variants, not the absolute CAGR as “edge.”

Books:

Equity curves for V0 trend-only, V1 hybrid regime switch, V2 structure filter on EURUSD H1
Growth of $1, EURUSD H1 clean-room. Regime switching does not beat plain trend-only here.
Book (H1)Ann. Sharpe*Total returnMax DDPos. changes% flat
V0 trend only0.82+16.6%−10.0%1740.6%
V1 hybrid switch−0.36−3.2%−8.2%46479%
V2 structure filter−1.15−13.7%−15.2%81960%

*Annualized with ~24×252 H1 bars/year — a convention for comparison, not a promise of investable Sharpe.

Bar chart of annualized Sharpe for V0 V1 V2
Same clean-room: the dual-regime switch and the structure filter both underperform the simple trend book.

On this H1 tape, adding the hybrid regime switch hurts relative to V0 (more flat time, more position thrash, negative total return). The structure “trend permission” filter (V2) is not a free lunch either — it cuts exposure but lands worse risk-adjusted and worse total return under this cost model. That matches the M15 episode story: labels and filters change when you trade more than they manufacture edge.

7 / M15 episode passive check (CSV only)

If you simply hold each exported TREND episode long for its signed start→end return (no spreads, no shorts, no RANGE book) on the M15 CSVs:

M15 exportTREND episodesCompound of TREND AbsReturn
Early R/S949+6.3%
V1 retuned782+5.3%
V2 StrongFilter468−2.2%
MTF HTF165−0.5%

Pickier TREND labels (StrongFilter / MTF) do not improve this naive long-through-episode score on the export window — another sign that “stricter TREND” is not automatically better TREND.

Verdict

Labels fail first; the switcher does not rescue the book.

On EURUSD M15 episode exports, dual-regime labeling either over-calls TREND with extreme churn or collapses into NEUTRAL and kills RANGE. On a H1 clean-room of the EA’s strategy family, V0 trend-only beats V1 hybrid switching and V2 structure filtering under a simple cost model. That supports the research path you already took: abandon “smart four-state regime truth,” treat structure/HTF filters as optional permission experiments, and do not expect ADX/Hurst thresholds alone to underwrite a regime product. Educational evidence only — not a trade recommendation.

What we did not claim

Read next

Quant for Life
Trend vs regime — vocabulary only, no trade instructions
Teardown
Supertrend on SPY vs EURUSD — environment decides more than the indicator
Teardown
MACD across regimes — benchmark and sample bias
Learn
Validation gauntlet — overfitting, OOS, multiple testing
Tool
Deflated Sharpe — when threshold grids become another search
Educational analysis, not investment advice. Methodology case study of regime-label episode exports from a personal MetaTrader research stack on EURUSD M15. Not a recommendation to trade any EA, parameter set, or instrument. Episode statistics depend on symbol, timeframe, indicator definitions, and export settings; they do not predict future performance. See the full disclaimer.