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 scoretinggi 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
- Scanner diubah HANYA untuk menguji hipotesis density — bukan untuk mengejar profit.
- Satu dimensi per arm — C0 baseline; B1–B4 masing-masing mengubah satu dimensi (kombinasi B3 adalah pengecualian terdefinisi).
- Threshold 55 = EXPERIMENTAL, bukan optimal — tidak punya makna trading sampai evidence menunjukkan sebaliknya.
- Bobot statis dulu, adaptif kemudian — hindari confounding dua inovasi sekaligus (Phase 5 → 6).
- Tanpa penambahan fitur (agen ke-6, multi-symbol, ZMQ, native LLM, ensemble, fuzzy optimization) sebelum Q3 terjawab.
- Tidak ada keputusan tanpa data — semua hasil dicatat ke evidence manifest.
- 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 saattrue(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
- Evidence manifest per arm (CSV + ringkasan markdown).
- Keputusan terverifikasi: fusion punya/tidak punya predictive value; edge ada/tidak setelah biaya.
- 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 + perluasclean_old_logs.batkeTester\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 handoffMQL5/Include/Execution/COrderBlockScanner.mqh(constraint scanner)MQL5/Include/Models/CFuzzyFusion.mqh(fusion + bobot)MQL5/Experts/CentaurQuant.mq5(alur keputusan v2.8.0)