SniperGold_ML/MQL5/Include/AlgoForge/AF_Defines.mqh

76 lines
4.3 KiB
MQL5
Raw Permalink Normal View History

//+------------------------------------------------------------------+
//| AF_Defines.mqh |
//| Project : Algo Forge (refactor total) |
//| Sumber inspirasi: SniperGold SMC Pro+ (c) Waseem Shahrukh |
//| https://www.mql5.com/en/code/75466 |
//+------------------------------------------------------------------+
#ifndef AF_DEFINES_MQH
#define AF_DEFINES_MQH
#include "AF_Attribution.mqh"
// ---- Engine 1: batas & default ----
#define AF_E1_MAX_SLOTS 8 // maksimum slot (symbol,TF) yang dapat diregistrasi
#define AF_E1_DEFAULT_BARS 600 // default kapasitas cache per slot
#define AF_E1_MAX_BARS 5000 // batas atas kapasitas cache per slot
#define AF_E1_RETRY_SEC 5 // throttle retry bila history TF belum siap (detik)
// ---- Engine 1: kode hasil ----
#define AF_E1_OK 0
#define AF_E1_ERR_SLOT -1 // slot penuh / TF invalid (PERIOD_CURRENT)
#define AF_E1_ERR_NOTREADY -2 // cache belum siap
#define AF_E1_ERR_RANGE -3 // index di luar jangkauan
// ---- Engine 2: agen (batas & default) ----
#define AF_E2_MAX_PIVOTS 64 // maksimum pivot per sisi (high/low) yang disimpan
#define AF_E2_MIN_BARS 80 // jumlah bar minimum per agen sebelum sinyal valid
#define AF_E2_LOOKBACK_PD 60 // window premium/discount & range (bar)
#define AF_E2_LOOKBACK_AVG 20 // window rata-rata body (bar)
#define AF_E2_PIVOT_LOOKBACK 200 // window pencarian pivot (bar)
#define AF_E2_SWEEP_LOOKBACK 8 // window deteksi sweep likuiditas (bar)
#define AF_E2_FVG_LOOKBACK 40 // window deteksi FVG (bar)
#define AF_E2_DIR_TOL 0.05 // toleransi arah per agen (bias)
// ---- Engine 2: BASE TIMEFRAME agen (HARDCODED - tanpa input manual) ----
// Dipakai oleh indikator AF_Engine3_Display & unit test. Konsumen TIDAK
// perlu (dan tidak bisa) mengganti TF agen via input.
#define AF_E2_TF_S1 PERIOD_H4 // S1 = Narrative (N)
#define AF_E2_TF_S2 PERIOD_M30 // S2 = Context (C)
#define AF_E2_TF_S3 PERIOD_M15 // S3 = Entry (E)
#define AF_E2_TF_S4 PERIOD_M3 // S4 = Price Action (P)
// ---- Engine 2: agregator ----
#define AF_AGG_W_N 0.30 // bobot dasar Narrative
#define AF_AGG_W_C 0.30 // bobot dasar Context
#define AF_AGG_W_E 0.25 // bobot dasar Entry
#define AF_AGG_W_P 0.15 // bobot dasar Price Action
#define AF_AGG_BUY_TH 0.20 // ambang |bias| sinyal final
#define AF_AGG_MIN_SUP 0.50 // ambang dukungan buy/sell minimal
#define AF_AGG_SL_ATR 1.5 // SL = entry -/+ SL_ATR*ATR
#define AF_AGG_TP_ATR 2.5 // TP = entry +/- TP_ATR*ATR
// ---- Engine 3: display (batas & default) ----
#define AF_E3_MAX_ZONES 24 // maksimum zona (OB/FVG) yang digambar
#define AF_E3_MAX_LINES 64 // maksimum garis struktur (BOS/CHoCH)
#define AF_E3_MAX_PIVOTS 32 // maksimum label swing point
#define AF_E3_DISP_BARS 300 // jendela bar display (struktur/zona/PD)
#define AF_E3_OB_DEFAULT 5 // default jumlah OB yang digambar
#define AF_E3_FVG_DEFAULT 6 // default jumlah FVG yang digambar
#define AF_E3_OB_MIN_ATR 0.15 // OB minimal ukuran (x ATR)
#define AF_E3_MOVE_BODY 1.5 // body "move kuat" untuk OB (x avg body)
#define AF_E3_FVG_MIN_ATR 0.02 // FVG minimal ukuran gap (x ATR)
#define AF_E3_PD_PREMIUM_PCT 8.0 // band premium & discount (% dari range)
#define AF_E3_PD_EQUIL_PCT 4.0 // band equilibrium (% dari range)
#define AF_E3_LEVELS_D1_BARS 120 // kapasitas cache D1 untuk PDH/PDL
#define AF_E3_LEVELS_W1_BARS 80 // kapasitas cache W1 untuk PWH/PWL
#define AF_E3_PFX "AF3_" // prefix objek chart
// ---- F3 Candidate Setup layer (P3-S.13) ----
// W_setup / W_m3 = OPEN NUMERIC PARAMETERS (frozen §M). These values are
// PLACEHOLDER TEST BOUNDARIES (documented in the F3 spec tests); they are
// NOT selected from performance (no AUC/PF/profit/backtest used).
#define AF_F3_W_SETUP 40 // Candidate Setup post-formation validity (M15 bars)
#define AF_F3_W_M3 2 // M3 confirmation lookback (M15 decision bars)
#define AF_F3_MAX_REGISTRY 16 // kapasitas registry identity (dedup)
#endif // AF_DEFINES_MQH