# Learning-loop review — 2026-09-03 450 closed trades reviewed, 172 currently open. Proposal only — nothing here is applied automatically (CLAUDE.md §4: the AI review proposes, dan disposes). ## 1. Is overall expectancy holding? Yes — pooled expectancy is **+0.90% per trade** across **450 closed trades**, profit factor **1.63**, positive and comfortably above the noise floor at the aggregate level. This is a large enough sample overall to say the system as a whole has a real edge, not noise. But note the composition: 353 of the 450 trades (78%) are `qsr`, so this headline number is mostly a QSR statement, not an even blend of all four strategies. It's also a pooled-account number — per the account breakdown, `paper-main` (361 trades, +$2,933) carries almost all of the P&L, `Paper02qsr` is small and marginally positive, and the only real-money account, `live-1` (59 trades, price-biased toward cheap shares), is net **-$86**, though n=59 is itself too small to read as a strategy verdict on its own. ## 2. Biggest drag bucket Buckets with n≥20 and negative or flat expectancy: `orb-v1` (n=68, expectancy ‑0.00%), RSI 30-40 band (n=101, expectancy ‑0.52%, total P&L **‑$462**), and `<‑10% vs MA50` (n=55, expectancy ‑0.30%). By total dollar impact and sample size, **RSI 30-40 (n=101)** is the biggest drag. Checking against the noise floor: weighting the rest of the book (349 trades) gives an implied rest-of-book expectancy of ≈**+1.31%**, so the gap between RSI 30-40 and the rest is ≈**1.83 percentage points** — this is *smaller* than the **2.48pp** noise floor established in the statistical-power section. Same story for `orb-v1` (gap ≈1.06pp) and `<‑10% MA50` (gap ≈1.37pp). **All three buckets clear the 20-trade minimum but none clear the noise floor** — so despite looking like a real drag, RSI 30-40's underperformance cannot be distinguished from noise with the current sample. ## 3. Entry, exit, or regime problem? Since the RSI 30-40 gap itself is statistically unresolvable, we can't confidently attribute it to any specific mechanism — attaching an entry/exit story to an effect smaller than the noise floor would be exactly the kind of overreach rule #6 exists to prevent. What we *can* say from the aggregate MAE/MFE numbers (not bucket-specific, since no per-band MAE/MFE is reported): - MAE winners avg **‑1.80%** vs MAE losers avg **‑5.15%** — losers travel much further against entry before failing, consistent with stops being hit by trades that were genuinely wrong, not just noise-stopped near-winners. - MFE losers avg **+1.17%** — modest, not "materially positive" in the sense the doc flags (e.g. "was up 3%, exited ‑2%"). This does **not** show the classic exit-problem signature. Net read: nothing here points cleanly at an exit problem, and the entry-side (RSI-band) signal isn't resolvable at this sample size. No confident entry/exit/regime attribution can be made for this bucket right now. ## 4. Proposed parameter change The natural candidate — narrowing or excluding the RSI 30-40 entry band (e.g. raising `swing-dip-v1.maxRsi14` away from that zone, or gating it) — is an **entry-signal/bucket-threshold change**, and its supporting gap (≈1.83pp) is **below the 2.48pp noise floor**. Per the rules, I must propose **NO CHANGE** to that parameter, for that reason. The closest matching row in the revisit table is the ~1.00% edge case: 124 symbol-days needed, 81 in hand, ≈10 sessions to go → **projected revisit ≈2026-09-17**. Do not touch RSI thresholds before then; if a next-best paired design is wanted sooner, use the QSR anchor/runner pairing (noise floor 0.657–1.86pp) rather than more band-splitting. Instead, here is a change that does **not** depend on out-predicting the market — it's a capital-turnover control, deterministic and independent of any signal claim: **Proposed change:** `qsr.maxHoldDays`: currently **`null`** → set to **`30`**. **Reasoning:** This is not justified by the closed-trade scoreboard (which shows no confirmed exit problem, per point 3) but by a mechanical observation: the open-positions table shows numerous QSR legs sitting **20–44 days** with no calendar exit at all (e.g. HDB 43.3d, several ETR/TRP/BTI/ENB legs 20–34d), tying up capital and risk indefinitely regardless of thesis outcome. Capping hold time is a risk-sizing/turnover control, comparable in kind to the things the doc explicitly allows regardless of sample size (position caps, capital turnover), not a claim about which entries are better. It should be evaluated only on trades placed after the change (rule #4), and remains the *only* parameter changed at a time. ## 5. Notable open positions - QSR has a large number of positions with **no calendar time-stop** aging well past typical hold times seen in the closed-trade book (avg hold 7.6d for closed QSR trades): HDB (43.3d, ‑3.47%), ETR (6 legs, 29–34d, ‑0.15% each), TRP (multiple legs, 24d, ‑0.50%), BTI (multiple legs, 22–24d, ‑1.94%), ENB (21–36d, ‑0.60%). None of these are catastrophic, but they represent capital parked for far longer than the historical norm without resolving — this is the direct motivation for the point-4 proposal, but is being reported here as situational color, not as evidence for expectancy. - The three `crypto-trend-v1` positions (BTC, ETH, DOGE) are also open 14–44 days with explicitly "no calendar time-stop," same pattern. - A handful of positions are currently well in the green and aging (AAPL +6.5% at 29d, MFG +11.6% at 15d, META +5.3% at 7–8d) — worth watching whether trailing/target logic captures these gains or lets them round-trip. ## 6. QSR shadow comparison note Qualitatively notable: the legacy `isTriggered+isBuy/buyZonePct` shadow method fired far less often (**48 would-buy events**, 18 tickers) than the live `newlyA` method actually traded (**184 closed + 153 open**, 51 tickers) over the same window — roughly 4x the ticker breadth and much higher frequency. Ticker overlap between the two methods is only **11 names** (AEP, IBKR, SU, COHR, TRP, BTI, ENB, NKE, ITUB, EBAY, VALE), meaning the two selection logics are picking largely *different* stocks, not just timing the same names differently. The shadow window (2026-08-09 → 2026-08-23) has now closed, so a fuller backtest comparing hypothetical legacy outcomes to the real newlyA outcomes can be requested. This is purely observational — per the source material, shadow trades never executed and cannot feed into the point-4 proposal or any scored bucket.