ecf5606b7a
- fix: inactivity watchdog now waits 30s for HTML report then kills terminal64.exe unconditionally — ShutdownTerminal=1 does not cause MT5 to exit on Wine/macOS; relying on natural exit caused all runs to fall back to journal extraction - fix: tester agent log deduplication — each deal is written twice in the log; use HashSet to skip already-seen deal numbers - fix: position tracker for entry direction inference — infer "in"/"out" from per-symbol signed lot accumulation instead of guessing - fix: is_closed_trade() no longer gates on profit!=0.0 — journal deals have profit=0.0 legitimately; the old gate hid all 140 deals from list_deals - fix: log file selection priority — prefer Agent-127.0.0.1 over Agent-0.0.0.0 (startup-only log), tiebreak by file size - feat: launch_backtest default shutdown=true; inactivity_kill_secs default 120s exposed as tool parameter - feat: report DB stores deals in SQLite; analytics resolve by report_id / report_dir / latest Verified: 1-month DPS21/XAUUSD.cent/M5 backtest produces full HTML report with all metrics (win_rate=70%, profit_factor=0.77, sharpe=-3.61, max_dd=6.93%) and all 17 analytics tools returning real data. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
41 lines
1.1 KiB
TOML
41 lines
1.1 KiB
TOML
[package]
|
|
name = "mt5-quant"
|
|
version = "1.32.4"
|
|
edition = "2021"
|
|
description = "MCP server for MT5 strategy development on macOS/Linux"
|
|
authors = ["masdevid <masdevid@example.com>"]
|
|
license = "MIT"
|
|
repository = "https://github.com/masdevid/mt5-quant"
|
|
readme = "README.md"
|
|
keywords = ["mt5", "mql5", "trading", "mcp", "backtest"]
|
|
categories = ["finance", "development-tools"]
|
|
homepage = "https://github.com/masdevid/mt5-quant"
|
|
documentation = "https://github.com/masdevid/mt5-quant"
|
|
|
|
[package.metadata]
|
|
maintenance = { status = "actively-developed" }
|
|
|
|
[[bin]]
|
|
name = "mt5-quant"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
tokio = { version = "1.0", features = ["full"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
serde_yaml = "0.9"
|
|
clap = { version = "4.0", features = ["derive"] }
|
|
anyhow = "1.0"
|
|
tracing = "0.1"
|
|
tracing-subscriber = "0.3"
|
|
uuid = { version = "1.0", features = ["v4"] }
|
|
regex = "1.0"
|
|
dirs = "5.0"
|
|
walkdir = "2.0"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
encoding_rs = "0.8"
|
|
tempfile = "3.0"
|
|
roxmltree = "0.21.1"
|
|
rusqlite = { version = "0.31", features = ["bundled"] }
|
|
base64 = "0.22"
|