Market pattern · live
Multi-TF candle patterns + regime + ATR · refreshed every 30s
Pattern symbols:
▲ ⏶ bull strong ·
△ bull weak ·
▼ ⏷ bear strong ·
▽ bear weak ·
◇ ◯ indecision ·
⇕ ⌇ special.
Hover for full name. WPM thresholds: AA β70 ≥ 0.70, AB β50 ≥ 0.50.
Regime · detector vs pattern shadow
Live comparison · candidate to replace slow detector after 24-48h validation
Reading: when labels disagree, pattern is usually right (it sees fast structure changes
the detector misses). After 24-48h shadow data, run diag-regime-shadow-compare.js
to validate and possibly flip pattern source live.
Engine status · 5m decision pipeline
Today's timescale-purity pass · Iron Rules v2 compliancePattern integration · Phase 0a
Timescale-purity gates
Retired strategies (timescale leak)
Iron Rules v2: all engine config defaults OFF · plans opt-in via
params.engineFeatures · per-plan kill switch via
params.bypassEngineMutations. See docs/IRON_RULES.md.
Regime detector · LEGACY (slow classifier · being phased out)
Phase 1a: 8-state classifier (VOLATILE_UP/DOWN, TRENDING_UP/DOWN, CHOP, POST_PUMP/DUMP, DRIFT)
with 3-tick hysteresis. Updated every 1 min from btc5m_decisions.
Use the history table below to verify state stability before wiring this into plan routing (Phase 2).
Regime detector · transition history
Last 30 state flips (only flips are persisted; tick-by-tick stays inrealtime/market_regime).
| Time (BKK) | From → To | Vol ratio | Ret 30m | Ret 1h | Sample |
|---|---|---|---|---|---|
| loading… | |||||
Hourly regime attribution · supervised-learning loop
— · loading…
Each hour at :05, the system looks back at the just-completed hour, replays the detector
per 5m boundary, groups consecutive same-state ticks into segments, and attributes each plan's
positions to the regime that was active at decision time. Forward = label at start of hour.
Hindsight (mode) = mode across detector ticks. Objective = stateless price-action label
(true ground truth — independent of detector). Forward vs Objective is the real accuracy measure.
Per-regime data-driven champions · sorted by frequency-of-podium (top-3 share); ★ subscript = top-1 share · last 7d
| Regime | Segments | Total min | Top 3 podium (frequency in top 3) | Cumulative PnL leaderboard |
|---|---|---|---|---|
| loading… | ||||
Forward vs objective truth · confusion matrix · last 7d · diagonal = correct · falls back to mode-hindsight if objective unavailable
Hourly timeline · last 48h · stability badge: 🟢 stable ≤2 segs · 🟡 mixed 3 · 🔴 noisy ≥4 · Match column uses objective truth
| Hour (BKK) | Forward | Hindsight (mode) | Objective | Match | Segments breakdown | Pos | Top 3 plans | Hour PnL |
|---|---|---|---|---|---|---|---|---|
| loading… | ||||||||
Removed stale sections (Shadow-mode data was empty). Active plans + per-plan stats live on /polymarket-v2.html. Regime detector + hourly attribution (above) is the active learning loop; Phase 2 routing will activate once 7d objective-truth accuracy stabilises.