Agent skill

Mt5 Robot Tester

by tradermonty in tradermonty/claude-trading-skills

Select the best MetaTrader 5 trading robots (Expert Advisors) that have not been backtested yet, by running the MT5 Strategy Tester from the command line through a 3-round pipeline.

MITAuto-check passedBusiness, Finance & HR

Install Mt5 Robot Tester

skills CLI
$ npx skills add tradermonty/claude-trading-skills --skill mt5-robot-tester -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tradermonty/claude-trading-skills mt5-robot-tester --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tradermonty/claude-trading-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mt5-robot-tester .claude/skills/mt5-robot-tester && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mt5-robot-tester
GitHub stars
3k
Token cost
~2.6k tokens
SKILL.md length
1,195 words
Files
19 (incl. scripts, references, assets)
Skills in repo
74
Repo updated
First seen
Licence
MIT

At a glance

Select the best MetaTrader 5 trading robots (Expert Advisors) that have not been backtested yet, by running the MT5 Strategy Tester from the command line through a 3-round pipeline.

  • Works in 5 steps: Configure → Dry-run (optional) → Run the pipeline → …
  • The user wants to batch-test MT5 bots/EAs
  • SKILL.md covers Overview, When to Use, Prerequisites and Workflow, plus 5 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Mt5 Robot Tester is an agent skill from tradermonty/claude-trading-skills. Select the best MetaTrader 5 trading robots (Expert Advisors) that have not been backtested yet, by running the MT5 Strategy Tester from the command line through a 3-round pipeline. Use when the user wants to batch-test MT5 bots/EAs, screen robots across all symbols, optimize EA parameters, or move candidate bots to finalists based on profit, drawdown, positive months/years and equity-curve criteria. Runs terminal64.exe headless; Windows + MetaTrader 5 required at run time.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files, including scripts, reference files and assets (for example `assets/pipeline_config.template.json`, `references/mt5-cli-reference.md` and `scripts/dashboard.py`).

It sits in Business, Finance & HR, covering Trading and backtesting. The repository describes itself as: Claude Code skills for equity investors and traders — market analysis, technical charting, economic calendars, screeners, and trading strategy development. The licence is MIT.

When your agent uses it

  • The user wants to batch-test MT5 bots/EAs
  • Screen robots across all symbols
  • Optimize EA parameters
  • Move candidate bots to finalists based on profit

Example prompts

  • “/mt5-robot-tester”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Configure
  2. Dry-run (optional)
  3. Run the pipeline
  4. Resume if interrupted
  5. Read the results

What it can do on your machine

Read from SKILL.md and the folder at commit c8d58f0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 11 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mt5 Robot Tester loads about 2.6k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 124 tokens; SKILL.md has 1,195 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from tradermonty/claude-trading-skills at commit c8d58f0, republished under its MIT licence (© tradermonty). 1,195 words, ~2,586 tokens.

Download SKILL.mdSave it as .claude/skills/mt5-robot-tester/SKILL.md (or your agent's skills folder). This skill also uses 18 other files; get the full folder from GitHub.
name
mt5-robot-tester
description
Select the best MetaTrader 5 trading robots (Expert Advisors) that have not been backtested yet, by running the MT5 Strategy Tester from the command line through a 3-round pipeline. Use when the user wants to batch-test MT5 bots/EAs, screen robots across all symbols, optimize EA parameters, or move candidate bots to finalists based on profit, drawdown, positive months/years and equity-curve criteria. Runs terminal64.exe headless; Windows + MetaTrader 5 required at run time.

MT5 Robot Tester

Overview

Select the best MetaTrader 5 robots (Expert Advisors) from a candidates folder by driving the Strategy Tester from the command line through a 3-round pipeline, moving each bot between folders as it advances, and learning across runs to improve selection each loop. The whole run is checkpointed and resumable.

  • Round 1 — screening (all pairs): backtest the EA on each symbol in the configured common.symbols list (one Optimization=0 backtest per symbol — MT5 build 6061 leaves the Optimization=3 XML empty, so per-symbol backtests are used). Gate: ≥5 symbols profitable AND best symbol ≥3× deposit.
  • Round 2 — best-pair backtest: single backtest on the best symbol; analyze net profit %, worst drawdown %, % positive months, all-years-positive, LR Correlation, months-to-new-high.
  • Round 3 — sequential parameter optimization: optimize the 5–6 inputs after MagicNumber, one at a time, range ±50% step 5%; then a final backtest.
  • Finalist: optimized result improves on Round 2 and profit ≥4× deposit and worst drawdown ≤12%.

Tested bots move to in-testing; finalists are also copied to finalists with their optimized .set.

When to Use

  • "Prueba robots / bots / EAs en MetaTrader 5."
  • Screen a folder of MT5 Expert Advisors and pick the best across all pairs.
  • Optimize EA parameters and decide finalists by profit/drawdown/consistency.
  • Resume an interrupted testing run.

Prerequisites

  • Windows + MetaTrader 5 installed (the tester runs terminal64.exe).
  • Broker tick data downloaded (default modeling is real ticks, Model=4).
  • The three folders under MQL5\Experts: candidates, in-testing, finalists.
  • common.symbols set in the config — the pairs Round 1 backtests (your Market Watch symbols).
  • Optional per-bot .set files (config sets_dir) for the Round-2 baseline and Round-3 parameter optimization. Every input is fixed during optimization except the one parameter currently being searched; without a .set, Round 3 is skipped and the verdict comes from Round 2.
  • Close MetaTrader 5 before running — the tester needs exclusive use of the data folder.
  • Python 3.9+ (standard library only). No paid API.

Workflow

Step 1 — Configure

Copy assets/pipeline_config.template.json, fill in the three folder paths and set terminal_path to an explicit terminal64.exe path. For actual tester execution, a terminal path is required unless you opt into discovery when no path is supplied. Pass it via --terminal-path, config terminal_path, or $MT5_TERMINAL_PATH. --dry-run generates INIs without resolving or launching a terminal and needs no terminal path. Never commit real personal paths — pass the config at run time. Defaults already encode the agreed settings (2020.01.01→2026.06.30, H1, Model=4, 10000 USD, 1:100, gates and thresholds).

Terminal selection is opt-in. For safety, the pipeline never auto-discovers terminal64.exe under Program Files. On a machine that also trades live, the auto-detected terminal is often the broker's live terminal; the generated INI has no Login, so it wakes on whatever account was last used, and ShutdownTerminal=1 closes it at the end. To avoid silently borrowing (and closing) a live terminal, pass an explicit path to a portable, tester-only install (a /portable folder with its own data directory). If you explicitly accept the risk, --allow-auto-detect restores Program Files discovery only when no --terminal-path / $MT5_TERMINAL_PATH / config.terminal_path is set.

Migration from the old precedence/fallback behavior: selection now uses --terminal-path > config.terminal_path > MT5_TERMINAL_PATH; config outranks the environment variable. The highest-precedence supplied path must exist: a missing path is a hard error, with no fallback even with --allow-auto-detect. For example, a stale config.terminal_path blocks a valid MT5_TERMINAL_PATH. Fix or remove the stale config setting, or override it with a valid CLI path. Auto-detection is opt-in and applies only when no path is supplied.

Step 2 — Dry-run (optional)

Verify the generated Round-1 INIs without resolving or launching MT5. No terminal path or installed MT5 is required for this offline dry-run:

bash
python3 skills/mt5-robot-tester/scripts/mt5_batch_tester.py \
  --config my_config.json --output-dir reports/mt5_pipeline --dry-run
Step 3 — Run the pipeline
bash
python3 skills/mt5-robot-tester/scripts/mt5_batch_tester.py \
  --config my_config.json --output-dir reports/mt5_pipeline \
  --terminal-path "C:\Program Files\MetaTrader 5\tester\terminal64.exe"

Each bot flows R1 → R2 → R3 → finalist decision. Progress is written to state.json and run.log after every step.

Step 4 — Resume if interrupted
bash
python3 skills/mt5-robot-tester/scripts/mt5_batch_tester.py \
  --config my_config.json --output-dir reports/mt5_pipeline --resume \
  --terminal-path "C:\Program Files\MetaTrader 5\tester\terminal64.exe"

--resume skips completed bots and reuses finished rounds only while the execution config, EA binary, and input .set fingerprints still match. A changed period, symbol list, binary, or .set restarts that bot safely.

Optional — HTML control panel

Launch a local dashboard to see the bots in each folder, each bot's phase and verdict, and a Launch button — no CLI needed after starting it:

bash
python3 skills/mt5-robot-tester/scripts/dashboard.py \
  --config my_config.json --output-dir reports/mt5_pipeline

It serves http://127.0.0.1:8765/ (opens automatically, localhost only). The page auto-refreshes every 3 s: folder contents, per-bot phase (R1/R2/R3/done), pass/fail verdicts, summary counts, and the live run.log. Start/stop requests are limited to the exact local origin and require the per-server CSRF token.

Show full SKILL.md (471 more words)Show less
Step 5 — Read the results
  • leaderboard_<ts>.md / .json — ranking with verdict and key metrics.
  • learnings.json / learnings.md — what the skill learned this loop (parameter impact and symbol priors) under the configured output directory.
  • mt5_reports/ and mt5_ini/ — raw MT5 reports and configs per bot/round.

Round details

Round 1 gate (both required)
  1. count_positive_profit(passes) ≥ round1_min_positive (default 5).
  2. best_symbol_profit ≥ round1_min_profit_multiple × deposit (default 3×).

Fail → bot rejected (moved to in-testing).

Round 2 quality profile (reference thresholds)

Net profit ≥300%, worst DD <15% (larger of balance/equity %), positive months

70%, all years positive, LR Correlation ≥0.80, months-to-new-high ≤3. Reported per bot; the hard finalist gate is Round 3.

Round 3 sequential optimization

For each of the 5–6 inputs after MagicNumber (learned order first), optimize that single parameter over [V×0.5, V×1.5] step V×0.05 (Optimization=1) while fixing every other .set input, fix its best value, then continue. Run a final backtest with the exact complete input set saved for a finalist.

Finalist

evaluate_finalist: improved on Round 2 and profit ≥4× deposit and worst DD ≤12%. → copied to finalists with <bot>.set.

Self-learning across loops

learnings.json accumulates, per run: parameter average profit improvement (reorders Round-3 optimization so the most impactful parameters are tried first), symbol priors (how often each is a best pair), and per-bot verdicts. This makes selection converge faster each loop. Deterministic — plain aggregate statistics.

Output Format

  • leaderboard_<ts>.json — list of {name, verdict, best_symbol, r2_profit, final_profit, final_dd_pct, lr, reason} sorted finalists-first by profit.
  • leaderboard_<ts>.md — same as a table.
  • state.json — resumable per-bot/per-round checkpoint.

Resources

  • scripts/mt5_batch_tester.py — pipeline orchestrator + INI builders (CLI).
  • scripts/parse_mt5_optimization.py — optimization report (XML/HTML) parser + Round-1 gate.
  • scripts/parse_mt5_report.py — backtest report parser + balance-series metrics.
  • scripts/mt5_learnings.py — cross-run learning store.
  • scripts/mt5_common.py — shared parsing helpers (EN/ES headers, numbers).
  • references/mt5-cli-reference.md — MT5 [Tester]/[TesterInputs] keys, enums, report formats and caveats.
  • assets/pipeline_config.template.json — config template with placeholders.

Key Principles

  1. Never commit personal paths — folders/terminal come from config/ENV/args.
  2. Relative Report= names because build 6061 ignores absolute report paths; collect completed reports from the terminal data directory.
  3. Real ticks (Model=4) need broker tick data; it is slow — expect long runs.
  4. Resumable: every round checkpoints; --resume reuses only fingerprint- matching work and retries execution errors.
  5. Fail closed: incomplete, timed-out, stale, or unparsable reports never reject, promote, or move a candidate. Every unique Round-1 symbol must finish.
  6. Single MT5 owner: an OS lock is held for the process lifetime for each shared MT5 data folder. If child termination cannot be confirmed, the whole run stops and writes a .blocked marker; verify the recorded PID/process tree has exited before removing that marker manually.
  7. Full-period metrics: months without deals at the start, end, or across a full year remain part of the configured test period.
  8. Learn each loop: parameter/symbol statistics bias future runs toward wins.
  9. Verify against your build: report layout (esp. the deals table) and the 32 ms delay mapping can differ — see the reference's (verify) notes.

© tradermonty, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 18 other files (scripts, references, assets) in skills/mt5-robot-tester of tradermonty/claude-trading-skills.

  • SKILL.md
  • assets/dashboard.html
  • assets/pipeline_config.template.json
  • references/mt5-cli-reference.md
  • requirements.txt
  • scripts/dashboard.py
  • scripts/mt5_batch_tester.py
  • scripts/mt5_common.py
  • scripts/mt5_learnings.py
  • scripts/parse_mt5_optimization.py
  • scripts/parse_mt5_report.py
  • scripts/tests/fixtures/sample_opt.xml
  • scripts/tests/fixtures/sample_report.htm
  • scripts/tests/test_batch_tester.py
  • scripts/tests/test_dashboard.py
  • scripts/tests/test_dashboard_gates.py
  • … and 3 more

Open the folder on GitHubat commit c8d58f0

Compare with similar skills

Mt5 Robot Tester next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Mt5 Robot Tester compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mt5 Robot Tester this skilltradermonty/claude-trading-skills3k—~2.6kAutomated safety check: PassMIT
Tushare Datazillionare/zillionare3222 repos~2.3kAutomated safety check: PassNone
Tradingview MCPatilaahmettaner/tradingview-mcp5k—~1.3kAutomated safety check: PassMIT
Digital Oraclekomako-workshop/digital-oracle878—~5.9kAutomated safety check: PassMIT
Polyclawchainstacklabs/polyclaw3591 repos~2kAutomated safety check: PassApache-2.0
Markdownfacioquo/stock-indicators-dotnet1.2k—~812Automated safety check: PassApache-2.0

Similar skills

  • Tushare Data

    zillionare/zillionare

    面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。

    322 GitHub starsUsed in 2 repos~2.3k tokens
    Business, Finance & HRAuto-check passed
  • Tradingview MCP

    atilaahmettaner/tradingview-mcp

    AI Trading Intelligence — live prices, 30+ technical indicators, backtesting (6 strategies), walk-forward overfitting detection, trade logs, equity curves, licensed news sentiment (Marketaux), and…

    5k GitHub stars~1.3k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Digital Oracle

    komako-workshop/digital-oracle

    Answer prediction questions using market trading data, not opinions.

    878 GitHub stars~5.9k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed
  • Polyclaw

    chainstacklabs/polyclaw

    Trade on Polymarket via split + CLOB execution. An agent skill from chainstacklabs/polyclaw.

    359 GitHub starsUsed in 1 repo~2k tokens
    Business, Finance & HRAuto-check passed
  • Markdown

    facioquo/stock-indicators-dotnet

    Format and lint Markdown in this repository against GitHub Flavored Markdown and its markdownlint-cli2 configuration — headers, lists, code fences, callouts (VitePress containers on docs-site pages…

    1.2k GitHub stars~812 tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Openmobius Skill

    MobiusQuant/OpenMobius-skill

    Provides multi-school trading Q&A, chart/OHLCV analysis, annotation, and fresh-market workflows covering ICT/SMC, ChanLun, Wyckoff, Price Action, Order Flow, VSA, and Elliott Wave.

    697 GitHub stars~7.2k tokensUpdated 1 mo ago
    Business, Finance & HRAuto-check passed

More from tradermonty/claude-trading-skills

All 74 skills in this repo
  • Technical Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing weekly price charts for stocks, stock indices, cryptocurrencies, or forex pairs.

    3k GitHub starsUsed in 4 repos~4.6k tokens
    Auto-check passed
  • Theme Detector

    tradermonty/claude-trading-skills

    Detect and analyze trending market themes across sectors. An agent skill from tradermonty/claude-trading-skills.

    3k GitHub starsUsed in 2 repos~4.9k tokens
    Auto-check passed
  • Trader Memory Core

    tradermonty/claude-trading-skills

    Track investment theses across their lifecycle — from screening idea to closed position with postmortem.

    3k GitHub starsUsed in 2 repos~4.3k tokens
    Auto-check passed
  • Edge Strategy Reviewer

    tradermonty/claude-trading-skills

    Critically review strategy drafts from edge-strategy-designer for edge plausibility, overfitting risk, sample size adequacy, and execution realism.

    3k GitHub starsUsed in 1 repo~988 tokens
    Auto-check passed
  • Sector Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing sector rotation patterns and market cycle positioning.

    3k GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Stanley Druckenmiller Investment

    tradermonty/claude-trading-skills

    Druckenmiller Strategy Synthesizer - Integrates 8 upstream skill outputs (Market Breadth, Uptrend Analysis, Market Top, Macro Regime, FTD Detector, VCP Screener, Theme Detector, CANSLIM Screener)…

    3k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed

Questions about Mt5 Robot Tester

What does Mt5 Robot Tester do?

Select the best MetaTrader 5 trading robots (Expert Advisors) that have not been backtested yet, by running the MT5 Strategy Tester from the command line through a 3-round pipeline. Mt5 Robot Tester is an agent skill from tradermonty/claude-trading-skills. Select the best MetaTrader 5 trading robots (Expert Advisors) that have not been backtested yet, by running the MT5 Strategy Tester from the command line through a 3-round pipeline.

When should I use Mt5 Robot Tester?

Mt5 Robot Tester fits situations like: the user wants to batch-test MT5 bots/EAs; screen robots across all symbols; optimize EA parameters; move candidate bots to finalists based on profit.

How do I install Mt5 Robot Tester in Claude Code?

Run `npx skills add tradermonty/claude-trading-skills --skill mt5-robot-tester -a claude-code`. Or copy the skill folder (skills/mt5-robot-tester in tradermonty/claude-trading-skills) into .claude/skills/mt5-robot-tester in your project. Claude Code loads it when a task matches its description.

How do I install Mt5 Robot Tester in Codex?

Run `npx skills add tradermonty/claude-trading-skills --skill mt5-robot-tester -a codex`. Or copy the skill folder (skills/mt5-robot-tester in tradermonty/claude-trading-skills) into .agents/skills/mt5-robot-tester in your project. Codex loads it when a task matches its description.

Can I use Mt5 Robot Tester in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tradermonty/claude-trading-skills --skill mt5-robot-tester -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mt5-robot-tester, .gemini/skills/mt5-robot-tester, .github/skills/mt5-robot-tester and .opencode/skills/mt5-robot-tester in your project.

What does Mt5 Robot Tester need to run?

Going by SKILL.md and its folder, Mt5 Robot Tester needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Mt5 Robot Tester access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Mt5 Robot Tester safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Mt5 Robot Tester use?

Mt5 Robot Tester is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mt5 Robot Tester use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.

What are the alternatives to Mt5 Robot Tester?

Skills that share tags, products or a category with Mt5 Robot Tester: Tushare Data (zillionare/zillionare, 322 stars), Tradingview MCP (atilaahmettaner/tradingview-mcp, 5k stars), Digital Oracle (komako-workshop/digital-oracle, 878 stars) and Polyclaw (chainstacklabs/polyclaw, 359 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mt5 Robot Tester?

tradermonty (a GitHub user) maintains it in tradermonty/claude-trading-skills, which has 2,982 GitHub stars. The repository holds 74 skills in this directory. The repository was last updated on October 11, 2026.

Source: tradermonty/claude-trading-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.