3.9 KiB
3.9 KiB
SESSION HANDOVER — P3-S.18 SETUP-LEVEL BASELINE ML
Date : 2026-08-24
Session : P3-S.18 — Setup-Level Baseline ML
Status : COMPLETE
Verdict : INCONCLUSIVE / DATA TOO SMALL — NO REPRODUCIBLE PREDICTIVE
SIGNAL DETECTED (weak unstable hint only)
P3-S.19 : NOT STARTED (requires separate authorization)
Next : investigate feature/label/setup semantics OR pre-registered
walk-forward (owner decision); NOT model complexity
A. Session
P3-S.18 — Setup-Level Baseline ML
First predictive baseline on the verified Candidate Setup population using
the approved P3-S16 label contract v1 (TP-before-SL WIN/LOSS, leads only).
Result : INCONCLUSIVE / DATA TOO SMALL — no reproducible predictive signal
detected by simple low-capacity baselines.
B. Starting Checkpoint
661a1b6a56a88e66d9922ca08711b1633a97bd0d (P3-S18A close)
VERIFIED at start: local == origin/main, branch main, working tree CLEAN,
origin = https://forge.mql5.io/chiki2bum2/SniperGold_ML.git.
Handovers read first: SESSION_HANDOVER_2026-08-23_P3_S17R2_VECTORIZE.md
(newest SESSION_HANDOVER_*) + P3_S18A_LABEL_CONTRACT_REVIEW.md (decision:
APPROVED AS V1).
C. Final Forge HEAD
P3_S18_FINAL_SHA : a1283929d8b92fdac16883143f509907ee424dc2
Branch/remote : main == origin/main (forge.mql5.io/chiki2bum2/SniperGold_ML.git)
Working tree : CLEAN
D. Population / dataset (verified)
686 Candidate Setups (ONE setup = ONE row) | 594 leads | 92 follow-ons |
0 duplicates. Classes (all): WIN 190, LOSS 469, UNRESOLVED 22, AMBIGUOUS 5.
Temporal purged 60/20/20 on leads: train 356 (103W/240L), val 119 (30W/83L),
test 119 (34W/81L). Purge gap > 16 bars. ML-T01..T08 all PASS.
E. Feature snapshot (causal, as-of entry)
direction, h4_gate, m30_gate, sweep_age_bars, choch_age_bars,
choch_latency_bars, zone_type_code (CONSTANT: all in-scope leads are the
same zone type), zone_age_bars, zone_width_atr, price_in_zone_offset,
dist_to_zone_center_atr, atr_at_entry. 12 features; missing 0%; leakage NONE
(namespace + as-of verified).
F. Baselines (fixed configs, seed 42, no HP search)
Logistic (C=1.0) : train 0.545 / val 0.599 / test 0.609 AUC (weak-stable)
Tree (depth 3) : train 0.653 / val 0.478 / test 0.513 AUC (overfit)
Boost (small) : train 0.753 / val 0.470 / test 0.580 AUC (overfit)
MLP (16) : train 0.835 / val 0.389 / test 0.595 AUC (overfit)
Interpretation: no reproducible OOS signal; logistic hint only.
UNRESOLVED/AMBIGUOUS preserved, never forced to WIN/LOSS.
G. Regression
P3-S16 20/20 | VEC 15/15 (FULL PARITY) | chain parity 694==694 —
re-run green; committed output JSONs restored byte-identical.
New .py files scan clean on the frozen P3-S.4/P3-S.5 parity-absence guards.
H. Production / ML protection
NO production changes; legacy MLP untouched; no MQL5/F1-F4/FEATURE_CONTRACT
change; no Tickstory/Dukascopy; no LSTM/Informer/regime; no TP/SL/horizon/
de-overlap change; no threshold tuning on test; test untouched for selection.
I. Next-session authorization boundary
P3-S.19 is NOT started automatically. Options (owner decision):
A — investigate feature semantics / label semantics / setup population
(recommended given INCONCLUSIVE baseline; keep simple models)
B — pre-registered walk-forward validation of the linear baseline hint
C — separate authorization only for any label-parameter or feature
snapshot revision (NOT performance-driven)
No LSTM/Informer/regime until a simple model shows reproducible signal AND a
separate authorization exists.
End P3-S.18 session handover. Verdict: INCONCLUSIVE / DATA TOO SMALL — no reproducible predictive signal detected by simple baselines on the verified setup-level population. Baseline evidence is committed and reproducible; the next phase requires a separate owner decision.