D08-F07-A12 · LEVEL 2 GUIDED LAB · SYNTHETIC DATA

Trend/Range Regime Classifier

Can multiple diagnostics classify trend, range, and uncertain states without hiding thresholds? Walk the evidence clock one stage at a time. This lab teaches the publication contract; it does not simulate returns, platform parity, or trade performance.

Selected expression

package rule: trend if ER>=e and ADX>=a; range if ER<=r and CHOP>=c; otherwise uncertain

Availability rule

A state at t may use only observations available through t; confirmed swings retain their confirmation timestamp and are never relabeled as known at the pivot bar.

calculated · step 1 of 7

Verified synthetic fixture

This lab is paired with datasets/implementation-fixtures.json: 96 deterministic, oldest-to-newest observations spanning oscillating, rising, and moderating regimes. It is teaching data—not market history or predictive evidence.

Canonical latest output (D08-F07-A12)
{
  "efficiency": 0.08092573520497529,
  "choppiness": 58.89834097590164,
  "regime": "range"
}

Executable checks cover this result, flat/zero-volume boundaries, invalid timestamps, and prefix causality in both language entry points.