# HARZ Trading Machine, complete record and history

Generated 2026-11-11T01:44:11Z. Everything below is read from the books on disk, not retyped from memory.

## The honest bottom line first
- Resolved trades across every tier: **1**, net **-1.04R**. One stop at -1.04R. Expectancy is undefined: one trade is not a sample.
- Paper only. No order has ever been placed. No capital is at risk.
- Status of the structural tier: **UNMEASURED**. Its backtest point estimate sits just under break-even and is an upper bound because fills were assumed at the signal close.
- Nothing here is certified for real money and I will not certify it.

## Books, exact counts
- v2.1 zone tier: 12 rows, states {'OPEN': 8, 'SUPERSEDED': 4}
- v2.2 structural tier: 4 rows, states {'OPEN': 4}
- shadow ledger: 63 rows, states {'OPEN': 63}
- ticket state records: 15, {'CANCELLED_STALE': 11, 'STALE_VERDICT_WITHDRAWN': 4}
- v2.1 outcome rows: 19; v2.2 outcome rows: 7

## Every structural ticket, graded against settled bars
| symbol | dir | entry | stop | target | fill | outcome | gross R | cost R | net R |
|---|---|---|---|---|---|---|---|---|---|
| INJ | long | 8.116 | 7.774 | 9.411 | 8.115 | STOP | -1.00 | -0.046 | -1.04 |

## Every zone-tier ticket
| symbol | dir | zone | stop | target | tier | score | state |
|---|---|---|---|---|---|---|---|
| PEPE | long | 4.77355e-06-4.86854e-06 | 4.21e-06 | 6.04313e-06 | B | 18.551 | OPEN |
| INJ | long | 7.90453-8.06183 | 6.813 | 10.3235 | B | 10.773 | OPEN |
| CASHCAT | short | 0.0938979-0.095824 | 0.1067 | 0.0711829 | A | 45.771 | SUPERSEDED |
| GRAM | short | 1.14878-1.17234 | 1.3161 | 0.849484 | A | 21.53 | SUPERSEDED |
| ADA | short | 0.190824-0.194738 | 0.214212 | 0.149919 | A | 17.712 | SUPERSEDED |
| DOGE | short | 0.0735546-0.0750634 | 0.0825698 | 0.0577875 | A | 15.313 | OPEN |
| PUMP | short | 0.00403318-0.00411591 | 0.004552 | 0.00311964 | A | 14.105 | OPEN |
| TAO | short | 232.007-236.766 | 260.443 | 182.274 | A | 13.795 | OPEN |
| PI | short | 0.0747792-0.0763131 | 0.0839444 | 0.0587496 | A | 15.813 | SUPERSEDED |
| LTC | short | 53.8021-54.9057 | 62.39 | 38.2816 | A | 11.137 | OPEN |
| ETH | short | 2234.42-2280.26 | 2526.17 | 1719.68 | A | 10.765 | OPEN |
| BCH | short | 263.361-268.764 | 304.8 | 188.587 | A | 7.915 | OPEN |

## Indicator inventory, all wired, versions pinned
- core.py: EMA50 regime stability (unanimous 150/200/250/300), Wilder RSI14, MACD 12/26/9, confirmed swings, 20-bar range, ATR14, bar finality
- trendline.py trendline-2026-11-10.1: veto only
- reversals.py reversals-2026-11-10.1: M/W veto only
- shapes.py shapes-2026-11-10.1: doji/marubozu/engulfing/inside/outside plus movement test, veto only
- patterns.py patterns-2026-11-10.1: star/hammer, veto only, fail-closed PIN

RSI14, MACD hist and ATR% are now recorded on every shadow candidate. They are observed, not gated, so they can be measured forward without changing selection.

## Artefacts and digests
- `v2/core.py` sha256 `5027745b1e3ee6e290f5af8820004d74`
- `v2/shadow.py` sha256 `a25925436200d5ea5e9f242337931949`
- `v2/manage.py` sha256 `f92576887b79247d38c099562907117b`
- `v2.1/score_v21.py` sha256 `4ba075a9b20690bf5de0cdbe50f62ca1`
- `v2.2/score_v22.py` sha256 `50b2b083c93eb7c5ed2c0c73777fae6c`
- `v2.2/hunt_v22.py` sha256 `682cb5f2927c916d2826aff2280fc5ce`
- `v2/patterns.py` sha256 `9169e038773da8ccc7b1cf5e489ca11f`
- `v2/trendline.py` sha256 `28c678b8b4a9a9b1618f4dc689d4084f`
- `v2/reversals.py` sha256 `ccf3f7cf0817e2f9c1cc3015a0f61589`
- `v2/shapes.py` sha256 `d60ab749b623d5b4ecc2929ca827eaf5`
- `v2/FULL-HISTORY-2026-11-11.jsonl` sha256 `e155f92e480b8f82ffd7a99fa6f44397`

## Defects found and fixed in this pass
- v2.2 had no grader at all: tickets were emitted and never resolved. Built score_v22.py to the pre-registered spec.
- My first grader run booked +1.20R and +1.49R as resolved after a single bar. The window rule now keeps a row PENDING until 30 settled bars or a real touch, and the premature rows were retracted by append, not deleted.
- The freshness module compared an epoch integer with an ISO date string, so its bar window was always empty and every ticket was called never-filled without inspection. Fixed; 4 of 11 stale verdicts withdrawn.
- Market-order tickets were cancelled for later drift, which is backwards: a market order fills at publication. Only zone tickets can go stale now.
- The zone-tier scorer left stale tickets as PENDING_FILL forever. It now honours the freshness verdict and resolves them NO_FILL, originals retained.

## What real money requires, unchanged and not negotiable by me
- 20 or more resolved trades, with long and short reported separately
- positive net expectancy after 0.192% round-trip costs
- measured slippage versus the modelled fill, since the live book already shows drift defeating zone entries
- zero hard-gate violations and zero duplicate tickets
- portfolio correlated exposure measured, because nine shorts in one down move is one bet, not nine
- a drawdown figure alongside the expectancy
