Skip to content

Options Flow HUD — UX Design Reference


status: ACTIVE tier: 2 (design reference) last-verified: 2026-09-13 verified-against: 597fb51 (Options Flow v2.7.0)


Control-pad layout (top → bottom)

Row Content Semantics
Header Title, [LIVE]/[STATIC] mode pill, minimize, refresh, provenance Engine state — not a layer
Row 1 [Daily] [Weekly] [Monthly] Expiration horizons (multi-select); filters walls + GEX profile aggregation
Row 2 [Range] [Magnet] [Flip] [Risk] Purpose groups (multi-select) — see below
Row 3 [GEX Profile] Depth-histogram visibility
Display rows Regime tile, risk-sizing tile, carry-forward alert, provenance line Read-only state

Purpose groups (Row 2) — decision-type mapping

Group Members Trader job
RANGE Call/Put walls (per Row-1 horizons), Major Pin Fade & contain: dealer hedge-flow boundaries, pinning targets
MAGNET Max Pain, Charm Magnet Time-driven pull: expiry/OpEx magnets, intraday charm drift into the close
FLIP Gamma Flip, Vanna Flip Regime/bias switch: GEX sign = dealer posture; alert lines, not targets
RISK Vol Trigger, EM bands Acceleration & defense: downside hedging cascade level, straddle envelope

Gating rule: element renders iff group ON and its individual level setting ON (ShowRangeGroup && Show0DteWalls etc.). Applies uniformly to lines, zone bands, right-margin badges, and hoverability (_visibleZones registration). Defaults: all groups ON; ShowVannaFlip OFF (preserved historical default); walls per-horizon ON.

Hover & tooltip behavior (v2.7.0)

  • Zones carry session pixel extents (GexZoneItem.XLeft/XRight); hit-test is X and Y — no phantom tooltips outside a session's drawn rectangle.
  • Overlaps: pure static GexEngine.HitTestZones collects all hits into a pre-allocated buffer; one combined panel, ≤5 lines + "+N more", sorted by |price − cursor price|, color chip + name + price + GEX $M per line.
  • Historical crosshair morphing: GEX profile + HUD reflect the hovered bar's payload (intraday timeline in Dynamic mode, daily tiers otherwise).

Tracking modes

  • STATIC (StaticBaseline): levels locked to session point-in-time chain (ETH = T-1, RTH = morning-cleared); exact backtest parity; steps only at 05:00/08:30 CT boundaries.
  • DYNAMIC (DynamicRealTime): 15-min stepping from _HHMM snapshots during RTH; live session refreshed by background rescan on active-file change (Phase 6, ~2–3 s lag); freshness guard prevents stale snapshots shadowing a newer live payload at the frontier.

Rendering standards

  • All colors: CrossColor fields cached at class level, marshaled via .ToGdiColor().
  • Text measurement via CachedMeasureString + _measureCache; zero LINQ in render paths; per-frame buffers (_profileBuffer, _labelBuffer, _hoverHitZones) reused, never realloced.