Files
ai-exchange/docs/AI_ICT_DoctrineKernel_TimeSessionKernel_D5_2026-05-22_v1.md
T
2026-05-22 08:21:24 +08:00

3.5 KiB

AI_ICT Doctrine Kernel Time / Session Kernel D5 2026-05-22 v1

Scope

D5 rebuilds time and session from loose labels into measurable session-quality gates. This slice follows docs/ICT交易全书_出版终校版.md and keeps the hard mainline chain:

Range / Draw / Location -> Liquidity / Sweep / Inducement / Path -> Displacement / MSS / FVG / Retest / Session -> backtest evidence -> pre-market plan -> intraday unique focus or no-trade reason -> journal / study-notes feedback.

Product Rule

Asia, London, NY AM, NY PM, killzone, Judas/manipulation window, opening range, weekly profile, and news/no-trade time are not buy/sell signals. They can only qualify or block a setup after the system can state:

  • the exact session code and whether the candidate occurred inside a verifiable session window,
  • whether the active Trading Plan allows that session,
  • the killzone name and state,
  • whether Judas/manipulation is still in a wait-only phase,
  • whether the opening range reference is resolved,
  • the weekly/day profile,
  • whether a news or low-liquidity no-trade window is active,
  • the session-specific invalidation.

If those items are missing, Strategy Backtest and Trader Cockpit must keep the setup as study_only or wait.

Implemented Kernel

Code anchor: src/services/ict_mainline/doctrine.py

New phase:

  • DOCTRINE_SESSION_PHASE = D5_TIME_SESSION_KERNEL

New registry/API:

  • GET /trading/time-session-kernel
  • build_time_session_kernel_registry
  • list_time_session_rules

New backtest surface fields:

  • time_session_backtest_features
  • time_session_kernel_status
  • time_session_kernel_summary
  • time_session_kernel_status_counts
  • time_session_kernel_reason_counts
  • by_time_session_code

D5 Rules

  1. session_window_verifiable Session names are context windows. A setup must prove it occurred inside the allowed session window.

  2. killzone_reaction_window Killzone is a timing filter only. It cannot create direction or override missing Range / Draw / Location.

  3. judas_manipulation_sequence Judas/manipulation is wait-only until post-manipulation confirmation exists.

  4. opening_range_delivery_state Opening range defines early reference and delivery state. Early motion is not enough.

  5. weekly_profile_alignment Weekly/day profile must be declared before an intraday setup can be promoted.

  6. news_time_no_trade_guard High-impact news and thin-liquidity windows are explicit no-trade guards.

Promotion Gate

The D2 playbook now requires D5 Time / Session fields before promotion:

  • session_code
  • session_window_state
  • allowed_sessions
  • killzone_name
  • killzone_state
  • judas_window_state
  • opening_range_state
  • weekly_profile
  • news_window_state
  • session_invalidation

The Doctrine Backtest Cohort now blocks promotion unless:

  • D2 playbook schema is complete,
  • D3 Liquidity Kernel passes,
  • D4 PD Array / Reaction Kernel passes,
  • D5 Time / Session Kernel passes,
  • Strategy Backtest quality gate passes,
  • active Trading Plan gate passes.

Read-Only Boundary

D5 does not add order submission, does not change execution_allowed, does not change decision_support_ready, does not change real_live_ready, and does not loosen risk governor / trust bucket / operator confirmation protocol.

Next Slice

D6 should rebuild the Model Playbook Kernel: convert the book-derived models into full setup playbooks with required Range / Draw / Liquidity / PD Array / Session / Confirmation / Invalidation / Target fields and batch-backtest cohorts.