mt5-paper-tradelisted
Install: claude install-skill saatwik-1157/trade-research
# Automated demo trading
```bash
python tools/mt5_paper.py --once # dry run, sends nothing
python tools/mt5_paper.py --rule sma_cross --live --once # one live demo cycle
python tools/mt5_paper.py --rule random --live --interval 300
python tools/mt5_paper.py --close-all --live # flatten its own positions
```
This is the only module in the project that sends orders, kept separate from
`mt5_account.py`, which reads and cannot write.
## The fence
1. **DEMO accounts only.** `account_info().trade_mode` must be 0. REAL, CONTEST
and any unrecognised value all abort before an order is constructed. Verified
against all four cases.
2. **Dry-run by default.** `--live` is required to send anything.
3. **MAGIC-tagged orders**, so it only ever closes positions it opened.
4. **Caps**: `--lot`, `--max-positions`, `--max-daily-loss` (halts the session).
Never relax these to make a run work. If a user asks to point it at a live
account, the answer is that this tool cannot, and a live executor is a separate
decision needing explicit discussion of size, drawdown and failure handling.
## What to tell the user about results
**None of the rules has a measured edge.** This repository backtested its own
composite at IC 0.002 and found zero of 105 tested patterns surviving multiple-
testing correction. Expect roughly break-even before costs and negative after.
The `random` rule is the benchmark, and comparing against it is the point: a
rule that cann