Commit Graph
7 Commits
Author SHA1 Message Date
FXDavidandClaude Fable 5 3e14a7fe79 Add ASCII banner (grey, sibling to Offbeat Engine) on server start + installer
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 04:48:12 -07:00
FXDavidandClaude Opus 4.8 3539f73c9d Document Linux/macOS support via Wine (tested end-to-end)
- 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>
2026-06-12 02:36:40 -07:00
FXDavidandClaude Sonnet 4.6 22dadc364a README: improve tagline for discoverability + add YouTube section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 13:17:04 -07:00
FXDavidandClaude Sonnet 4.6 3284663ec8 README: add problem statement and beginner install callout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 13:09:36 -07:00
FXDavidandClaude Sonnet 4.6 3490441649 Audit fixes: public repo readiness + MCP improvements
- 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>
2026-06-08 12:08:23 -07:00
FXDavidandClaude Opus 4.8 f47ac228b1 Add optimizer, cost model, alignment fix, and gold analysis
- Timezone-alignment fix: fetch_aligned matches signals to bars by price
  (MQL5 server time vs Python UTC ~3h offset invalidated prior backtests)
- Symbol-aware transaction costs (real spread from MT5) baked into backtest
- One-trade-per-setup (sequential) mode; % monthly/yearly returns in report
- Exit optimizer (SL x RR sweep, train/test split)
- Gold analysis scripts: per-year, ADX filter, efficiency ratio, HTF alignment
- Frozen signal snapshots (gold_signals.csv, arm_signals_EURUSD_H1.csv)

Findings: EURUSD = coin flip after costs. GOLD = modest real trend edge;
ADX>35 filter validated train+test (halves worst-year drawdown). Efficiency
Ratio and daily-trend HTF filters tested and rejected (not robust both halves).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 23:27:30 +03:00
FXDavidandClaude Opus 4.8 8391d68312 Initial commit: MBT — MT5 Backtest Toolkit
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>
2026-06-04 15:39:40 +03:00