2026-08-21 09:40:40 +07:00
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| 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
|
|
|
|
|
|
2026-08-21 10:01:21 +07:00
|
|
|
// ---- 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)
|
|
|
|
|
|
2026-08-21 15:39:52 +07:00
|
|
|
// ---- 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)
|
2026-08-21 15:44:49 +07:00
|
|
|
#define AF_E2_TF_S4 PERIOD_M3 // S4 = Price Action (P)
|
2026-08-21 15:39:52 +07:00
|
|
|
|
2026-08-21 10:01:21 +07:00
|
|
|
// ---- 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
|
|
|
|
|
|
2026-08-21 10:28:46 +07:00
|
|
|
// ---- 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
|
|
|
|
|
|
2026-08-22 23:31:22 +07:00
|
|
|
// ---- 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)
|
|
|
|
|
|
2026-08-21 09:40:40 +07:00
|
|
|
#endif // AF_DEFINES_MQH
|