Files

116 lines
3.8 KiB
Markdown
Raw Permalink Normal View History

# mql5-skills
MQL5 Agent Skill for MetaTrader 5 development. Conforms to the
[AgentSkills.io Specification](https://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:
```bash
# 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
```bash
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
```bash
# 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