# EXP-003 — SCANNER ACTIVATION & FUSION VALIDATION **Version:** 1.0.0 · **Status:** DRAFT (menunggu persetujuan eksekusi Phase 2) · **Date:** 2026-08-13 **Parent:** `PROJECT_REPORT.md` §6 (P0) & §7 (handoff) · **Baseline produksi:** `79275b1` (v2.8.0) **Sesi inisiator:** CHIRON — disusun bersama user (kepemilikan eksperimen: user + MetaTrader Assistant) --- ## 0. KONTEKS & MANDAT Proyek mencapai *technical completion* (17/17 workstream, build 0E/0W, LLM LIVE, fuzzy engine unit-tested, backtest PASS) — tetapi **bukan *strategy validation***. Backtest #1/#2/#3 hanya membuktikan EA dapat berjalan, bukan bahwa strategi punya edge. Blocker utama terverifikasi: **scanner menghasilkan 0 setup dalam 6 bulan** (XAUUSD M15) → `CFuzzyFusion` belum pernah mendapat kesempatan diuji terhadap outcome. **Mandat eksperimen ini:** menjawab tiga pertanyaan berurutan secara terkontrol: - **Q1 — Signal density:** berapa banyak kandidat yang dihasilkan scanner saat constraint dikurangi satu-dimensi secara terkontrol? - **Q2 — Fusion discrimination:** apakah setup dengan `fused score` tinggi punya outcome lebih baik daripada setup dengan score rendah? - **Q3 — Edge setelah biaya:** apakah kombinasi scanner+fusion punya *net positive expectancy* setelah spread/komisi/slippage? Tujuan BUKAN mencari parameter terbaik. Tujuan adalah **menguji hipotesis** dan membiarkan data menentukan apakah setup memiliki edge. --- ## 1. HIPOTESIS | ID | Hipotesis | Diuji oleh | |----|-----------|-----------| | H1 | Constraint scanner saat ini terlalu ketat → density < 1 setup/bulan; pelonggaran satu-dimensi meningkatkan density tanpa asumsi a priori tentang kualitas | Phase 3 (arms B1–B4) | | H2 | Fused score berdiskriminasi: expectancy(fused ≥ thr) > expectancy(fused < thr) | Phase 4 | | H3 | Net expectancy kombinasi scanner+fusion > 0 setelah biaya transaksi XAUUSD | Phase 5 | --- ## 2. PRINSIP / GUARDRAILS 1. **Scanner diubah HANYA untuk menguji hipotesis density** — bukan untuk mengejar profit. 2. **Satu dimensi per arm** — C0 baseline; B1–B4 masing-masing mengubah satu dimensi (kombinasi B3 adalah pengecualian terdefinisi). 3. **Threshold 55 = EXPERIMENTAL, bukan optimal** — tidak punya makna trading sampai evidence menunjukkan sebaliknya. 4. **Bobot statis dulu, adaptif kemudian** — hindari confounding dua inovasi sekaligus (Phase 5 → 6). 5. **Tanpa penambahan fitur** (agen ke-6, multi-symbol, ZMQ, native LLM, ensemble, fuzzy optimization) **sebelum Q3 terjawab**. 6. **Tidak ada keputusan tanpa data** — semua hasil dicatat ke *evidence manifest*. 7. **Tanpa optimasi iteratif untuk profit** — parameter yang diubah adalah *treatment*, bukan hasil optimasi. --- ## 3. ARMS EKSPERIMEN Semua arm berjalan pada XAUUSD M15, window 2026-02-01 → 2026-07-31 (6 bulan, konsisten dgn SMOKE). | Arm | Perubahan (satu dimensi) | Dimensi yang diuji | Input (default = perilaku saat ini) | |-----|--------------------------|--------------------|--------------------------------------| | **C0** | v2.8.0 sekarang | Baseline | semua default | | **B1** | Proximity 0,25 → 0,50 ATR | Bottleneck proximity | `InpProximityMult=0.50` | | **B2** | Depth 200 → 400 bar | Bottleneck historical search | `InpScanDepth=400` | | **B3** | Proximity 0,50 + depth 400 | Kombinasi | kedua input di atas | | **B4** | Relax unmitigated + expansion 1.2 → 1.0 | Constraint struktural | `InpExpansionMin=1.0`, `InpAllowMitigatedOB=true` | Semua arm dijalankan dengan **`InpEnableTrading=false`** → *diagnostic mode*: scanner + fusion berjalan penuh, `Setup_Detected` dicatat **tanpa eksekusi** (tidak ada posisi, tidak ada risiko). --- ## 4. INSTRUMENTASI (PRASYARAT — PHASE 2) Setiap kandidat setup (dan setiap keputusan fusion) dicatat minimal: ``` timestamp, symbol, timeframe, direction, entry, SL, TP, scanner_conditions: {depth, proximity_mult, expansion_min, mitigated_allowed, ob_time_age}, structure_score, trend_score, momentum_score, volatility_score, ai_score, agent_weights[5], fused_score, threshold, decision(PASS/SKIP), skip_reason ``` - **Media:** append CSV `MQL5\Files\exp003_setups.csv` + log journal (FUSION line tetap ada). - **Mode:** aktif otomatis saat `InpEnableTrading=false` (log-only) dan saat `true` (full). - **Alasan prasyarat:** tanpa decomposition, tidak mungkin tahu mengapa fusion menerima/menolak setup — *instrumentation dinaikkan dari "peluang P2/P3" menjadi syarat eksperimen ini*. --- ## 5. METRIK & EVIDENCE MANIFEST ### 5.1 Density & distribusi (Phase 3 — per arm) - `setup_count` · `setup_frequency` (setup/bulan) - Distribusi long/short - Distribusi `fused_score` (min/p25/median/p75/max + histogram 5 bin) - Distribusi skor tiap agen - `threshold_pass_rate` (fused ≥ 55) ### 5.2 Outcome (Phase 4–6 — per arm, setelah eksekusi diizinkan) - R-multiple (per trade + distribusi) · win rate · expectancy (gross) - Max drawdown · profit factor - **Net expectancy** setelah spread + komisi + slippage realistis (XAUUSD: spread ±35 pts, komisi broker, slippage ekspektasi) — lihat Phase 5. ### 5.3 Format manifest Ringkasan per arm dalam satu tabel markdown + CSV mentah di `MQL5\Files\exp003_*`. --- ## 6. DECISION GATES (KUANTITATIF) | Gate | Kriteria | Tindakan | |------|----------|----------| | **A — Density** | `setup_frequency ≥ 2/bulan` pada minimal satu arm B1–B4 | Lanjut Gate B. Jika semua arm < 2/bulan → problem *signal generation* lebih dalam (definisi OB, regime pasar) → evaluasi hipotesis baru, BUKAN menambah fitur | | **B — Discrimination** | `expectancy(fused≥55) > expectancy(fused<55)` dengan selisih bermakna (effect size, bukan noise) | Lanjut Gate C. Jika tidak ada diskriminasi → fusion TIDAK punya predictive value → hentikan pengembangan fusion, evaluasi raw scanner | | **C — Edge setelah biaya** | `net expectancy > 0` + `max DD < 25%` pada sample | **GO live demo** (operational validation). Jika ≤ 0 → edge belum terbukti → JANGAN live; iterasi hipotesis | | **D — Adaptive vs static** | `adaptive ≥ static` out-of-sample | Pertahankan adaptasi. Jika tidak → kunci bobot statis | Catatan statistik: sample kecil (n setup) → fokus ke *directionality + effect size*, bukan p-value ketat. --- ## 7. FASE EKSEKUSI | Phase | Aktivitas | Output | Gate | |-------|-----------|--------|------| | **1** | Preserve v2.8.0 (`79275b1`) sebagai baseline | Baseline tercatat | — | | **2** | Instrumentasi + input arms (default = perilaku saat ini) | Build 0E/0W; CSV setup logger | — | | **3** | Scanner Activation: jalankan C0..B4, `InpEnableTrading=false` | Density + distribusi per arm | **Gate A** | | **4** | Fusion Validation: izinkan eksekusi per arm; bandingkan raw vs fused≥thr vs fused