# ── Core data stack ──────────────────────────────────────────────── pandas>=2.0 # DataFrame everywhere; bars/trades/metrics numpy>=1.24 # vectorized indicator math pyarrow>=14.0 # Parquet backend for pandas (.parquet bars & features) # ── Optimizer ────────────────────────────────────────────────────── optuna>=3.5 # TPE sampler, SQLite-persisted studies, visualization sqlalchemy>=2.0 # Optuna's sqlite:// storage backend plotly>=5.18 # optuna.visualization + dashboard HTML rendering tqdm>=4.65 # progress bars (also used by optuna) # ── MT5 bridge (Windows-only) ───────────────────────────────────── MetaTrader5>=5.0.45 # connect MT5 terminal, pull history, query symbol spec # NOTE: only installs on Windows. On non-Windows dev # boxes you can still edit shared/ + strategies/ code, # but the data-download / verify scripts won't run. # ── Report parsing & config ──────────────────────────────────────── lxml>=4.9 # parse MT5 Strategy Tester HTML reports (fast path) html5lib>=1.1 # fallback HTML parser for malformed reports PyYAML>=6.0 # shared/wizard/wizard.py — wizard-answers.yaml I/O python-dotenv>=1.0 # optional .env loader (shared/config.py has a plain # fallback, so this is convenience not a hard dep)