MTF_TrendPilot/docs/Spesifikasi_EA_MTF_TopDown.md

6 KiB

SPESIFIKASI EA — Intraday Trend Following Multi-TF Top-Down (Fuzzy Multi-Agen)

Versi: 1.1 (FINAL, disepakati 2026-08-02) | Status: MENUNGGU IZIN IMPLEMENTASI (Fase 1) File ini = referensi permanen. Kode TIDAK ditulis sebelum persetujuan implementasi.

0. Ringkasan

EA intraday trend-following dengan analisis TOP-DOWN 4 timeframe. Keputusan memakai FUZZY MULTI-AGEN + BOBOT TERTIMBANG DINAMIS (agen penyumbang skor, bukan hard rule). EA independen dari TF chart: internal memakai konstanta PERIOD_H4 / PERIOD_H1 / PERIOD_M15 / PERIOD_M5.

1. Empat Layer Analisis (disepakati)

Layer TF Definisi Agen fuzzy Skor
Narrative H4 STRUKTUR swing HH+HL=BUY(+1), LH+LL=SELL(-1), campur=NEUTRAL(0); swing = 3-5 bar kiri/kanan, 4 titik swing terakhir -1..+1
Context H1 KUALITAS ZONA S/R Zona = klaster swing H1 dlm ±0.3xATR(H1); skor = touch(0-3), kesegaran, lebar vs ATR, keselarasan narrative 0..1
Entry M15 PULLBACK / BREAKOUT + MOMENTUM di dalam zona Pullback: harga dlm zona ±0.2xATR(M15); Breakout: close M15 di luar zona; momentum: MACD hist M15 searah + ADX(M15)>=ambang; HANYA searah narrative 0..1
Price Action M5 CONTINUATION vs REVERSAL Continuation: close M5 tembus swing M5 searah sinyal -> hijau; Reversal: candle penolakan (engulfing/pin) melawan -> BATAL/TUNDA gate

Agregasi fuzzy (usulan awal, dapat dikalibrasi):

  • Bobot dasar: Narrative 30% | Context 20% | Entry 30% | PA 20%
  • Dinamis via regime ADX(H4)+ATR: trending -> Narrative+PA naik; ranging -> Context+Entry naik
  • Aturan kunci: entry hanya searah narrative H4 (counter-trend diblokir; flag reversal M5 kuat = opsional)

2. Eksekusi — Single vs Grid OTOMATIS (keputusan K1)

  • TIDAK ada input manual mode. EA memilih sendiri saat akan entry berdasarkan KEKUATAN MODAL:
    • MODAL BERLIMPAH (margin level >= 250% DAN readiness >= 0.75 DAN CF >= 0.60) -> GRID searah bias (ladder terkendali, max InpMaxTrades)
    • MODAL TIDAK BERLIMPAH -> SINGLE (1 posisi)
  • Mekanisme = perluasan kebijakan grid bersyarat (GridAllowed + InpGridMarginLevelMin/Ready/CF).
  • Di backtest lot kecil, margin level hampir selalu >=250% -> cenderung GRID (teruji/transparan).

3. SL/TP & Exit (keputusan K4)

  • SL: STRUKTURAL - di luar zona S/R H1 atau di bawah swing struktur H4 sesuai arah, + buffer ATR
  • TP: R-MULTIPLE = 2R (disepakati 2026-08-02)
  • BE + TRAILING: setelah profit >= 1R -> SL pindah ke break-even; lalu trailing (start/step)
  • JANGKA PANJANG: SL/TP otomatis dari analyzer MAE/MFE + learning (FASE 3, setelah data klaster cukup)
  • SCALE-OUT (partial close): DEFAULT OFF untuk awal (bisa diaktifkan belakangan)

4. Frekuensi & Kualitas (keputusan K3)

  • JUMLAH TRADE TIDAK DIBATASI; pembatas = metrik institusional (VALIDASI BACKTEST, disepakati):
    Metrik Ambang
    Profit factor >= 1.5
    Max drawdown <= 15%
    Expectancy (EV) > 0 per trade
    Win rate >= 30% (trend-following, R:R besar)

5. Aturan Pengaman Baru (tambahan 2026-08-02)

R1 - DAILY LOSS 20% (BALANCE)

  • Jika total loss harian (REALIZED + FLOATING, sejak reset hari) > 20% dari BALANCE: -> BERHENTI: tidak buka posisi baru DAN stop analisa (EA idle penuh) -> lanjut ESOK HARI (reset otomatis)
  • Basis: BALANCE (disepakati). Input baru: InpDailyLossLimitPct = 20.0 (0=off), melengkapi InpDailyLossLimit (absolut).
  • State machine dialihkan ke HOLD/IDLE sampai reset harian (bukan hanya menolak order).

R2 - JUMAT 23:00 SERVER = STOP PEMBUKAAN POSISI

  • Setiap JUMAT pukul 23:00 WAKTU SERVER -> semua pembukaan posisi DIHENTIKAN (setup baru + averaging/add grid; posisi terbuka tetap dikelola SL/TP/trailing)
  • Input baru: InpFriCutoffHour = 23.0 (0=off); cek TimeDayOfWeek(server)==5 && jam server >= cutoff
  • INDEPENDEN dari InpWeekendClose (cutoff hanya stop BUKA; weekend-close menutup posisi di jamnya)

6. Integrasi Modul Lama

  • DIPERTAHANKAN: Readiness, State machine, Risk gates (spread/R:R/margin), Learning memori, engine fuzzy (diperluas), analyzer MAE/MFE, AI-intel opsional, policy margin 250%
  • DIGANTI/DIDADAPTASI: zona swing H2 -> struktur H4/H1; arah manual -> narrative-driven; ladder -> adaptif single/grid searah bias

7. Input Baru (nama usulan, disepakati saat implementasi)

  • Layer: InpSwingBarsH4=4, InpSwingBarsH1=4, InpNarrativeLookback=4, InpZoneAtrMultH1=0.3, InpEntryPullbackAtrM15=0.2, InpMomentumADXMin=20, InpPAMinScore=0.5
  • Bobot: InpW_Narrative=30, InpW_Context=20, InpW_Entry=30, InpW_PA=20 (+ regime reuse InpCFRegimeADX/ATR)
  • Eksekusi: reuse InpGridMarginLevelMin=250, InpGridReadyScoreMin=0.75, InpGridCFScoreMin=0.60, InpMaxTrades, InpGridStep, InpLotSize
  • Exit: InpRR_Mult=2.0, InpSLBufferAtrMult=0.5, InpBE_AfterR=1.0, trailing reuse
  • Pengaman: InpDailyLossLimitPct=20.0, InpFriCutoffHour=23.0

8. Fase Implementasi (setelah izin)

  1. FASE 1 (disepakati utk mulai): kerangka 4-layer + narrative-driven + SL struktural + TP 2R
    • BE/trailing + mode SINGLE + R1/R2 (pengaman). Grid lama nonaktif/dipertahankan utk Fase 2.
  2. FASE 2: mode GRID adaptif searah bias (integrasi policy margin 250%).
  3. FASE 3: SL/TP otomatis dari analyzer/learning.

9. Keputusan yang Sudah Disepakati (log)

  • 2026-08-02: fuzzy multi-agen + bobot dinamis = kerangka keputusan (bukan hard rule)
  • 2026-08-02: definisi 4 layer (H4 struktur, H1 zona S/R, M15 pullback/breakout+momentum, M5 PA cont/rev)
  • 2026-08-02: single vs grid OTOMATIS berdasarkan kekuatan modal (tanpa input manual)
  • 2026-08-02: SL struktural, TP 2R, BE+trailing; future analyzer/learning
  • 2026-08-02: frekuensi tak terbatas + metrik institusional (PF>=1.5, MaxDD<=15%, EV>0, WR>=30%) sbg validasi backtest
  • 2026-08-02: R1 daily loss 20% BALANCE + stop analisa, lanjut esok; R2 Jumat 23:00 server stop pembukaan (termasuk averaging)
  • 2026-08-02: FASE 1 sebagai awal implementasi

10. Baseline Pembanding (hasil saat ini, utk A/B setelah implementasi)

  • XAUUSD SL550/TP1500/cap2% + policy = +1,35% | EURUSD SELL/cap1% = +0,41% | BTC PROP = -0,39%
  • Kriteria sukses Fase 1: menandingi/melampaui baseline dgn win rate/PF/DD/EV memenuhi ambang.