Files
ares/.env.example
T
romysaputrasihanandaandClaude Sonnet 4.6 9157c0d4f6 feat(backtest): ATR quality filter, pre-fill invalidation, entry zone config
Backtest improvements (XAUUSDm 20k candles vs baseline PF 1.12):
- ATR filter: FVG zone >= 0.3× ATR(14), impulse body >= 1.0× ATR(14) → PF 1.29, DD -3358
- Pre-fill invalidation: cancel pending FVG if price closes past impulse SL → PF 1.17
- ATR + pre-fill combined: PF 1.32, lowest DD -3230 (best overall)
- Entry zone config (ENTRY_ZONE_PCT): 0.0 aggressive / 0.5 midpoint / 1.0 conservative
  - Aggressive (0.0) hurts severely (PF 0.84), conservative (1.0) raises WR to 52.8%

New env vars: MIN_FVG_ATR_RATIO, MIN_IMPULSE_ATR_RATIO, PRE_FILL_INVALIDATE, ENTRY_ZONE_PCT
Rolling ATR(14) added to helpers using Wilder's RMA smoothing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 01:44:58 +07:00

76 lines
3.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MT5 bridge URL (required)
MT5_BASE_URL=http://localhost:8080
# ── Symbol & Timeframe ──────────────────────────────────────────────────────
# Single pair:
SYMBOL=XAUUSDm
# Multi pair (comma-sep, overrides SYMBOL):
# SYMBOLS=XAUUSDm,XAGUSDm
TIMEFRAME=M5
# ── Risk ─────────────────────────────────────────────────────────────────────
RISK_PCT=0.01
# ── Momentum Candle Thresholds ───────────────────────────────────────────────
BODY_PCT_MIN=0.5
CLOSE_PCT_MIN=0.8
# ── FVG Setup ────────────────────────────────────────────────────────────────
FVG_EXPIRY_CANDLES=10
MIN_FVG_PIPS=1
MIN_SL_PIPS=5
SL_BUFFER=0
MIN_RR=1.5
# TIMEOUT_CANDLES=0
# ── Friction ─────────────────────────────────────────────────────────────────
COMMISSION_PER_LOT=7
SLIPPAGE_POINTS=2
SPREAD_OVERRIDE=0
# ── EMA Trend Filter ─────────────────────────────────────────────────────────
EMA_PERIOD=20
# ── Backtest ─────────────────────────────────────────────────────────────────
BACKTEST_BALANCE=600
BACKTEST_CANDLES=50000
# DATE_FROM=2025-01-01
# DATE_TO=2025-12-31
# ── Live Trading ─────────────────────────────────────────────────────────────
# LIVE=true
# LIVE_POLL_SECS=30
# ── 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
# Breakeven: move SL to entry once price moves this multiple of SL-distance.
# 0 = disabled, 1.0 = move at 1:1 RR
# BREAKEVEN_AT_RR=1.0
# Daily loss limit: halt new entries if today's closed PnL < -(balance × pct).
# 0 = disabled, 0.03 = stop after -3% day
# 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)
# 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
# Entry zone within FVG: 0.0 = zone edge (aggressive), 0.5 = midpoint (default), 1.0 = far edge (conservative).
# ENTRY_ZONE_PCT=0.5
# ── Telegram Notifications ───────────────────────────────────────────────────
# Get token from @BotFather, chat_id from @userinfobot or Telegram API.
# All three are optional — omit to disable notifications.
# TELEGRAM_BOT_TOKEN=123456:ABC-xxxx
# TELEGRAM_CHAT_ID=-100xxxxxxxxxx
# TELEGRAM_THREAD_ID=123 # forum topic/thread ID (optional)