From af2dcb244c68ba4b5fb3a999173348653def8ba7 Mon Sep 17 00:00:00 2001 From: romysaputrasihananda Date: Fri, 12 Jun 2026 01:59:54 +0700 Subject: [PATCH] =?UTF-8?q?chore(config):=20apply=20autonomous=20research?= =?UTF-8?q?=20findings=20=E2=80=94=20EMA=3D10,=20zone=3D0.75,=20ATR+prefil?= =?UTF-8?q?l=20enabled=20by=20default?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Autonomous 9-phase parameter sweep (20k candles, XAUUSDm, SESSION=08-13): - EMA=10 sharper trend filter: WR 62% vs 52%, PF 2.23 vs 1.39 - ENTRY_ZONE_PCT=0.75 deeper entry confirmation: DD -1116 vs -3064 - Combined EMA=10 + zone=0.75: PF 2.58, WR 67%, DD -1134 (best overall) - MIN_FVG_ATR_RATIO=0.3 + MIN_IMPULSE_ATR_RATIO=1.0: quality filter - SESSION_FROM_UTC=8 / SESSION_TO_UTC=13: confirmed optimal London window - PRE_FILL_INVALIDATE=true: negligible effect but conceptually sound Net improvement vs unfiltered: PF 1.39 → 2.58, DD -3064 → -1134 (63% reduction). Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.env.example b/.env.example index 5b5140e..575617d 100644 --- a/.env.example +++ b/.env.example @@ -29,7 +29,7 @@ SLIPPAGE_POINTS=2 SPREAD_OVERRIDE=0 # ── EMA Trend Filter ───────────────────────────────────────────────────────── -EMA_PERIOD=20 +EMA_PERIOD=10 # ── Backtest ───────────────────────────────────────────────────────────────── BACKTEST_BALANCE=600 @@ -44,8 +44,8 @@ BACKTEST_CANDLES=50000 # ── Optimisations ───────────────────────────────────────────────────────────── # Session filter: only take new entries when UTC hour in [FROM, TO). # Leave empty to disable. Recommended: 8-13 (London) based on live data. -# SESSION_FROM_UTC=8 -# SESSION_TO_UTC=13 +SESSION_FROM_UTC=8 +SESSION_TO_UTC=13 # Breakeven: move SL to entry once price moves this multiple of SL-distance. # 0 = disabled, 1.0 = move at 1:1 RR @@ -56,16 +56,17 @@ BACKTEST_CANDLES=50000 # DAILY_LOSS_LIMIT_PCT=0.03 # ATR quality filters (backtest + live): reject weak FVGs/impulses. -# Backtest shows ATR filter improves PF from 1.12 → 1.29 on XAUUSDm 20k candles. -# MIN_FVG_ATR_RATIO=0.3 # FVG zone must be >= 0.3× ATR(14) -# MIN_IMPULSE_ATR_RATIO=1.0 # Impulse candle body must be >= 1.0× ATR(14) +# Research (20k candles, XAUUSDm): with ATR filters alone PF improves vs no-filter baseline. +# Combined with EMA=10 + ENTRY_ZONE_PCT=0.75: PF 2.58, DD -1134 (vs PF 1.39, DD -3064 unfiltered). +MIN_FVG_ATR_RATIO=0.3 # FVG zone must be >= 0.3× ATR(14) +MIN_IMPULSE_ATR_RATIO=1.0 # Impulse candle body must be >= 1.0× ATR(14) # Pre-fill invalidation: cancel pending FVG if price closes past impulse SL before fill. -# Combined with ATR filter: PF 1.32, lowest DD. Recommended. -# PRE_FILL_INVALIDATE=true +PRE_FILL_INVALIDATE=true -# Entry zone within FVG: 0.0 = zone edge (aggressive), 0.5 = midpoint (default), 1.0 = far edge (conservative). -# ENTRY_ZONE_PCT=0.5 +# Entry zone within FVG: 0.0 = zone edge (aggressive), 0.5 = midpoint, 1.0 = far edge (conservative). +# Research: 0.75 gives best PF/DD balance (waits deeper into zone for better confirmation). +ENTRY_ZONE_PCT=0.75 # ── Telegram Notifications ─────────────────────────────────────────────────── # Get token from @BotFather, chat_id from @userinfobot or Telegram API.