# Learning-loop review — 2026-08-04 89 closed trades reviewed, 46 currently open. Proposal only — nothing here is applied automatically (CLAUDE.md §4: the AI review proposes, dan disposes). # AI Review — swing-dip-v1 / vwap-mr-v1 / orb-v1 / qsr ## 1. Is overall expectancy holding? Overall expectancy is **+0.92% per trade** across **n=89** closed trades, profit factor **1.49** (workable), win rate 61.8% with a Wilson lower bound of 51.4%. n=89 clears the ~20-trade minimum, so this aggregate number is real enough to act on *at the aggregate level* — but it's a blend of three very different strategies (qsr, orb-v1, vwap-mr-v1) plus zero closed trades yet for swing-dip-v1, so "overall expectancy is fine" hides structure that matters more than the headline number. ## 2. Biggest drag (bucket with ≥20 trades) Buckets clearing n≥20: **all (89)**, **orb-v1 (38)**, **qsr (39)**, **stop_loss exit-reason (28)**, **take_profit exit-reason (29)**, **relvol<0.8 (24)**. (vwap-mr-v1 at n=12 and everything else is below the bar and excluded from decisions.) Among the strategy-level cuts (the direct lever), **orb-v1** is the clear drag: expectancy **-0.01%**, profit factor **0.90**, win rate 42.1% (Wilson low 27.9%), total P&L **-$66**. It's the *only* strategy contributing negatively — qsr contributes +$488 and vwap-mr-v1 +$123, so orb-v1 is single-handedly pulling the portfolio expectancy down from what it would otherwise be. ## 3. Entry problem, exit problem, or regime problem? This report doesn't break MAE/MFE out per-strategy, only in aggregate (MAE winners −1.77%, MAE losers −3.13%, MFE losers +0.85%), so I'm reading orb-v1 through its own scoreboard shape rather than a clean per-bucket MAE/MFE split — flagging that limitation explicitly rather than overclaiming precision. What the numbers do say: orb-v1's **payoff ratio is 1.36** (average win already bigger than average loss — not a "gave the winner back" signature), while its **win rate is only 42.1%**. If this were primarily an exit problem, you'd expect payoff to be squeezed (winners cut short and/or losers running big) with win rate closer to normal; instead the weak link is *how often* it wins, not how much. The aggregate MFE-losers figure (+0.85%) is also well short of the doc's own bar for "materially positive" (its worked example is +3%), so there's no strong systemic evidence of a take-profit-too-early pattern dragging the whole system down either. Net read: orb-v1's drag looks like an **entry/signal-quality problem** — too many opening-range breakouts trigger and then fail to follow through — rather than an exit or regime problem. Regime can't be checked directly for orb-v1 specifically: the regime cut isn't split by strategy, and the RSI/MA50/regime buckets are dominated by 62 "unknown" trades (almost certainly orb-v1 + vwap-mr-v1 missing those snapshot fields), which is itself worth noting as a data-completeness gap blocking finer diagnosis. ## 4. Proposed parameter change **orb-v1.volumeConfirmMult: 2.5 → 3.0** Reasoning: orb-v1's payoff ratio (1.36) is already acceptable, so the fix should target win-rate/entry quality, not exits or sizing. `volumeConfirmMult` is the direct breakout-confirmation gate — raising it tightens the bar for what counts as a genuine breakout (higher relative volume required), which should reduce false-breakout entries without touching targets, stops, or any other lever. This is a single, small change; it should be judged only on orb-v1 trades taken *after* the change, against the current baseline (win rate 42.1%, expectancy -0.01%, PF 0.90). (No change proposed for swing-dip-v1 or vwap-mr-v1 — swing-dip-v1 has 0 closed trades and vwap-mr-v1 has only 12, both well below the 20-trade bar.) ## 5. Notable in currently open positions (context only) - Open book is almost entirely **qsr** (plus two unrelated crypto-trend-v1 positions not in scope for this review). - Heavy multi-tranche stacking on single names: HDB (6 open legs across two time cohorts), TT (4), CARR (3), WMB (6), TRGP (4), COIN (4), ETR (4) — worth a human glance at aggregate per-symbol exposure, independent of any strategy-parameter question. - **VST** is the most underwater open position (-4.93% across 2 tranches, 4.3 days held) and, with `maxHoldDays: null` for qsr, has no calendar time-stop to force a resolution. - Several HDB legs (13.3d and 5.3d held) are sitting flat/slightly negative for a while with no time-stop — not yet a problem, but worth watching for the same "no calendar time-stop" reason. - CARR (+9.20%) and TT (+3.72%) legs look healthy but are unresolved, so none of this feeds into the expectancy numbers above or into point 4's proposal — it's purely situational color.