Centaur_Quant_Architecture/00_CONCEPT/EXP-003_SCANNER_ACTIVATION.md

8.3 KiB

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=falsediagnostic 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<thr Discrimination evidence Gate B
5 Cost-adjusted: spread/komisi/slippage dalam expectancy Net expectancy Gate C
6 Adaptive Weight: aktifkan adaptasi online; static vs adaptive (out-of-sample split) Perbandingan Gate D
7 Demo (operational validation, BUKAN discovery) Siklus hidup stabil + evidence historis go/no-go

8. OUTPUT YANG DIHARAPKAN

  1. Evidence manifest per arm (CSV + ringkasan markdown).
  2. Keputusan terverifikasi: fusion punya/tidak punya predictive value; edge ada/tidak setelah biaya.
  3. Rekomendasi go/no-go live + parameter final HANYA jika edge terbukti.

9. RISIKO & KONTROL

  • Overfitting: satu dimensi per arm; split in-sample/out-of-sample; dilarang optimasi iteratif demi profit.
  • Look-ahead: model 1-menit OHLC → verifikasi ulang every-tick pada arm terpilih (Phase 5/6).
  • Cost misestimation: gunakan spread/komisi konservatif (pesimis), bukan optimis.
  • n kecil: batasi klaim statistik; fokus effect size & konsistensi lintas arm.

10. STATUS OPERASIONAL (di luar hipotesis)

  • Disk 44 GB (Tester\logs\20260812.log) — operational risk; wajib dibereskan sebelum eksperimen panjang (hapus manual + perluas clean_old_logs.bat ke Tester\logs).
  • v_feedback — TIDAK dikalibrasi sekarang (telemetry kosong); menunggu evidence setup/trade dari Phase 3–4.

11. REFERENSI

  • PROJECT_REPORT.md §5 baris 7 (0 trade), §6 P0, §7 handoff
  • MQL5/Include/Execution/COrderBlockScanner.mqh (constraint scanner)
  • MQL5/Include/Models/CFuzzyFusion.mqh (fusion + bobot)
  • MQL5/Experts/CentaurQuant.mq5 (alur keputusan v2.8.0)