- Add "Running on Linux/macOS (via Wine)" section with the exact setup that
works: MT5 under a Wine prefix, Windows Python in the same prefix, run the
bridge through Wine's Python (not system Python)
- Update requirements line to note Wine support
- Add run_report.py one-off backtest runner referenced by the README
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add MIT LICENSE
- Anonymize broker path in config.example.yaml; add slippage_points + risk_per_trade
- Fix encoding ansi→cp1252 in signals.py (cross-platform safe)
- Fix install.py silently ignoring pip errors
- Cap get_ohlcv at 2000 bars; add ping tool; clarify HTML report UX in descriptions
- Escape symbol/timeframe in HTML report to prevent malformed output
- Move run_*.py to scripts/; move example CSVs to examples/
- Update .gitignore to block accidental CSV commits from root
- README: Python 3.9+ requirement, Chart.js internet note, new sections for examples/ and scripts/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Backtest any MetaTrader 5 indicator by talking to Claude.
- SignalLogger.mqh: drop-in MQL5 include, writes standard signal CSV
- core/: config-driven MT5 connection, OHLCV fetch, signal reader, backtest engine, HTML report
- mcp_server.py: generic Claude tools (get_ohlcv, get_signals, backtest, validate_signals, get_config)
- install.py + README: one-shot setup and docs
Principle: never recalculates the indicator in Python — reads the indicator's
own logged signals and replays real MT5 bars forward to resolve WIN/LOSS/OPEN.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>