# Learning-loop review — 2026-07-29 48 closed trades reviewed, 13 currently open. Proposal only — nothing here is applied automatically (CLAUDE.md §4: the AI review proposes, dan disposes). # AI Review — `pnpm learn` (paper-trading journal) ## 1. Is overall expectancy holding? Overall expectancy is **0.04%** per trade across 48 closed trades (PF 0.98, total P&L **-$12**). That's flat-to-slightly-negative — essentially breakeven, not a demonstrated edge. 48 trades clears the ~20-trade floor in aggregate, but this number is a blend of three very different strategies (orb-v1, qsr, vwap-mr-v1) with wildly different sample sizes and expectancies, so the aggregate figure itself isn't very informative — it's masking dispersion, not describing one system. ## 2. Which bucket is the biggest drag? Two cuts actually clear the ~20-trade minimum: - **By strategy: orb-v1**, n=31, win rate 38.7% (Wilson low **23.7%**), expectancy **-0.17%**, PF 0.76, total P&L **-$128**. - **By exit reason: stop_loss**, n=20, win rate 0% (Wilson low 0%), expectancy **-1.90%**, total P&L **-$651**. Everything else (RSI bands, MA50 distance, rel-vol, regime, symbol, strategy×symbol) is under 20 trades and per rule #1/#5 is a hypothesis, not a result — including the "unknown" buckets (n=30), which just reflect missing snapshot data and shouldn't be acted on either. **orb-v1 is the strategy-level drag**, and the stop_loss cut shows the mechanism: with only 31 orb-v1 trades and 20 stop-outs total in the whole journal, the stop_loss bucket is almost entirely orb-v1 losers dragging the strategy's expectancy negative. ## 3. Entry problem, exit problem, or regime problem? No MAE/MFE breakdown by strategy is given, so I have to reason from the overall figures, which is a limitation — but they point one way: - **MAE**: losers average **-1.61%** drawdown before failing vs. winners' **-0.67%**. Losers go noticeably further against us than winners ever do, i.e. the trades are wrong almost immediately rather than being right-then-reversed. - **MFE**: losers average only **0.54%** — nowhere near "materially positive." The doc's exit-problem signature (losers with high MFE, e.g. +3% given back to -2%) is *not* present here. That combination — deep, immediate adverse excursion on losers and low favorable excursion on losers — is the **entry-problem signature**, not an exit problem. There's no evidence to call this a regime issue either: SPY>MA200 only has 18 trades (below threshold), and 30 of 48 trades have no regime tag at all (`unknown`), so regime can't be assessed with the current data. ## 4. Proposed parameter change (one only) **orb-v1 `volumeConfirmMult`: 1.5 → 2.0** Reasoning: orb-v1's 0% win rate on its stop_loss trades combined with the MAE pattern above suggests many breakout entries are false starts — the volume confirmation bar is currently too low, letting weak breakouts trigger entries that immediately reverse. Raising the volume-confirmation multiple demands a stronger, more convincing breakout before entry, which should reduce the immediate-failure entries without touching the exit/target logic (`targetRMultiple` stays untouched, so we can isolate the effect of this one change per rule #2). No other orb-v1 or risk parameter is touched. If this is *not* wanted, the fallback per the anti-self-deception rules is: **NO CHANGE**, and instead accumulate more orb-v1 trades (and, ideally, fix the missing-snapshot pipeline so the 30 `unknown` trades stop being unusable) until the RSI-band, MA50-distance, and regime cuts each individually clear ~20 trades — right now none of the finer diagnostic cuts are reliable enough to target a more specific fix than the strategy-level one above. ## 5. Notable currently-open positions (context only, not evidence) - **qsr TXN** — two lots, both **-5.37%** unrealized, already beyond qsr's `hardSellPct` (4%) and close to the `stopAtrMult`/`maxStopPct` (8%) stop — worth a manual look at why these haven't been cut yet. - **qsr has `maxHoldDays: null`** — several positions (AEM, HDB, NFLX, TXN) are already 7.4 days old with no calendar time-stop, so they can run indefinitely regardless of how they resolve. HDB (+2.51%) and NFLX (+5.02%) are working; the TXN pair is not. - **UMC** — four fresh qsr lots (0.1d old) all showing -2.00% simultaneously, consistent with a single adverse move right after entry across tranches — worth watching but too new to mean anything yet. - **crypto-trend-v1** (BTC/USD, ETH/USD) — a strategy not represented anywhere in the closed-trade journal or scoreboard above; these two open positions have zero closed-trade history to evaluate against, so no read is possible yet. None of the above open-position observations feed into the parameter proposal in §4 — they have no confirmed outcome.