ZhijuCen 15c76d97b3 feat(parse_optimizer_report): analyze MT5 optimization XML reports
New script skills/mql5/scripts/parse_optimizer_report.py reads the
SpreadsheetML export from MT5 Strategy Tester optimization (one row per
parameter pass, plus a <DocumentProperties> environment card).

Companion to parse_tester_report.py. --analyze adds:

- Strategy environment card (EA / Symbol / Period / date range from
  Title; deposit / leverage / server / MT5 build from DocumentProperties)
- Orthogonality check (actual passes vs expected cartesian product)
- Parameter effect ranking (effect_ratio = spread / global std) and
  dead-parameter detection (per-group mean range < 1% of max)
- Dead boolean parameter detection (bit-for-bit identical true/false
  groups across all key metrics)
- Duplicate metric vector counting (>30% usually means a dead param)
- Top-5 best passes by Profit / Profit Factor / Recovery Factor / Custom
- Trade count distribution with daily rate and correlations vs profit
  and drawdown (overtrading / undertrading detection)

SKILL.md adds a new 'Optimization Report Analysis' subsection under
the Backtesting chapter covering environment card, orthogonality,
dead parameter / boolean parameter / duplicate detection, multi-
criteria best-pass selection, parameter effect ranking, trade count
diagnostics, and a reporting template.

Validated against jobs/246753/ReportOptimizer-*.xml (OneShotGold,
XAUUSD H4, 432 passes): correctly identifies InpUseNewsFilter as a
dead boolean parameter (true/false identical on Profit/PF/RF/Trades,
189 of 432 metric-vector duplicate groups), reports the trade/profit
overtrading signal (corr -0.56), and ranks best passes.

Adds pandas dependency (used for groupby/aggregate/corr on the pass
table; the script falls back to dict-list output if needed).
2026-07-02 16:38:24 +08:00
2026-06-23 21:47:51 +08:00
2026-06-23 21:47:51 +08:00
2026-06-23 21:47:51 +08:00
2026-06-23 21:47:51 +08:00

mql5-skills

MQL5 Agent Skill for MetaTrader 5 development. Conforms to the AgentSkills.io Specification.

What's Inside

An AI agent skill (skills/mql5/SKILL.md) that gives an LLM agent working knowledge of MQL5 development — positions, orders, indicators, risk management, backtesting — backed by the full MQL5 programming book and API reference extracted to Markdown.

skills/mql5/
├── SKILL.md                      # The agent skill (agentskills.io spec)
├── scripts/
│   ├── verify_sl_tp_formulas.py  # Python SL/TP risk formula verification
│   └── ...
└── references/
    ├── book/                     # MQL5 Programming Book (581 pages)
    ├── docs/                     # MQL5 API Reference (4135 pages)
    └── symbol-spec/              # Broker symbol specifications (CSV)

Quick Start

Use the Skill

Point your AI agent at skills/mql5/SKILL.md. The skill covers:

  • Trading operations: CTrade class, OrderSend, position management
  • Indicators: built-in handles, multi-timeframe, custom indicators
  • Risk management: PointValue-based SL/TP calculation, lot sizing, currency conversion for cross-pair profit currencies
  • Backtesting: Strategy Tester, OnTester custom criteria, optimization
  • Pitfalls: 16 documented pitfalls including SL/TP-specific issues

Extract References (Development)

The references/book/ and references/docs/ directories are generated from mql5.com sitemaps via a two-phase pipeline:

# Phase 1: Download HTML (needs network)
uv run scripts/extract.py download --all

# Phase 2: Convert to Markdown (offline)
uv run scripts/extract.py convert --all

See docs-dev/extraction.md for the full pipeline design.

Verify Risk Formulas

python skills/mql5/scripts/verify_sl_tp_formulas.py

Tests SL/TP calculation against real symbol specs (XAUUSD, USDJPY) with verified PointValue-based formulas.

Symbol Specs

Broker-specific symbol specifications live in skills/mql5/references/symbol-spec/:

File Symbol Calc Mode Contract Size Digits
specs-XAUUSD.csv XAUUSD CFD Leverage 100 2
specs-USDJPY.csv USDJPY Forex 100,000 3

These are used by the verification script and can be extended for additional symbols.

Project Structure

mql5-skills/
├── AGENTS.md                     # Project conventions for AI agents
├── LICENSE                       # MIT
├── README.md                     # This file
├── pyproject.toml                # uv project config (Python 3.14)
├── sitemaps/                     # Source sitemaps from mql5.com
│   ├── sitemap_book_en.xml       #   581 URLs → programming book
│   └── sitemap_docs_en.xml       #   4135 URLs → API reference docs
├── scripts/                      # Extraction pipeline
│   └── extract.py                #   XML → HTML → Markdown
├── skills/mql5/                  # The MQL5 agent skill
│   ├── SKILL.md
│   ├── scripts/
│   └── references/
├── docs-dev/                     # Development documentation
│   ├── extraction.md             #   Extraction pipeline design
│   ├── naming.md                 #   File/folder naming conventions
│   ├── skill-design.md           #   SKILL.md content plan
│   └── symbol-spec.md            #   Symbol spec workflow
└── html_cache/                   # Downloaded HTML (gitignored)

Development

# Setup
uv sync

# Run extraction
uv run scripts/extract.py download --all
uv run scripts/extract.py convert --all

# Verify formulas
python skills/mql5/scripts/verify_sl_tp_formulas.py

License

MIT

S
Description
MQL5 Agent Skill for MetaTrader 5 development.
Readme MIT
11 MiB
Languages
Python 100%