# TR-Supertrend — Figure acceptance (explanatory chart only)

Figure: `figures/first-30-eurusd-h1.png` (1600x900 PNG, matplotlib replot).
Content: EURUSD H1 bid close line plus modeled entry/exit fills for the first 30
chronological closed base EURUSD trades, numbered 1-30 in trade order.
No equity, P&L, returns or account balances are shown.

Selection (predeclared, no cherry-picking): `results/trades.csv`, variant=base,
symbol=EURUSD, exit_reason in (TP, SL) — END excluded (this ledger has 0 END) —
sorted by signal_time, head 30. Signal span 2017-01-20T03:00:00+02:00 to
2017-09-20T20:00:00+02:00, last exit 2017-10-06T06:00:00+02:00; 16 TP / 14 SL;
20 long / 10 short. Base ledger: 506 trades (301 SL / 205 TP).

## Rule check against the ledger

| Rule (RULES.md / engine) | Status | Timestamped CSV example |
|---|---|---|
| Closed-bar signal -> next-bar entry | OBSERVED | trade_no=1 long: signal 2017-01-20T03:00:00+02:00 -> entry 2017-01-20T04:00:00+02:00. Bar-index step +1 verified for all 506 base EURUSD trades (wall-clock 1h except one 15h gap over missing bars). |
| Fixed 1.5R target set at order time | OBSERVED | trade_no=1 TP long: entry_fill 1.0682 -> exit_fill 1.07836, risk_px 0.00684; fill distance / risk = 1.485 (raw TP is 1.5 x risk; modeled fills deduct half-spread per side plus commission). |
| Stop-first on ambiguous (TP+SL same bar) candle | UNOBSERVED in sample; observed in full ledger | 0/30 sample trades with both_hit=1. Full-ledger example: trade_no=139 short, SL: signal 2019-09-11T10:00:00+02:00 -> entry 11:00 -> exit 2019-09-12T13:00:00+02:00, both_hit=1. |
| One position per symbol (signals while open ignored) | OBSERVED | 0 overlaps in the first 30 and in the full 506 (every next signal_time >= prior exit_time); e.g. trade 1 exit 2017-01-31T16:00:00+02:00 -> trade 2 signal 2017-02-02T10:00:00+02:00. |

## Limits

- Replot from Dukascopy H1 bid bars and the modeled trade ledger, not a platform
  screenshot. Intrabar paths are unknown; fills are modeled, not observed.
- Fixed assumed costs only: EURUSD 1.0 pip spread, $7/lot round-trip.
- No exact video replication is claimed; no profit promise is made.
- No MT5 runs are referenced or implied by this figure.
- Audit proof remains `test.py` and `results/trades.csv` (+ `summary.csv`).
