{
  "scan_date": "2026-05-26",
  "macro_notes": "TSX Composite hit record 34,574.87 on 2026-05-22. Broad market extended: 82 stocks on positive breakouts list dominated by gold (~20%) and financials. Bank sector overbought — TD RSI 76 with earnings 2026-05-28, CM at decade-high P/E 11.7x (10-yr avg 9.4x), RY and BMO within 1% of record closes. Gold miners extended — AEM RSI 72 despite 22% pullback from $348 ATH. BoC rate cuts supporting financials but multiples are stretched. No pullback setups with RSI 35–65 and confirmed MACD positive available today. TD earnings risk on 2026-05-28 is a sector-wide flag for bank holders.",
  "signals": {
    "new_buys": [],
    "holds": [],
    "exits": [
      {
        "ticker": "ENB.TO",
        "exit_reason": "Time stop — 6 trading days held since 2026-05-19 entry (rule: exit after 3 days with no progress toward T1). Stop-loss, T1, T2, and T3 were never defined at entry, making trade management undefined and exit discipline unenforceable. Price ~$79.57 (2026-05-25 close) vs entry $78.11 = +$1.46/share (+1.9%) available. Earnings passed 2026-05-08 (no earnings risk). RSI ~44 and MACD positive suggest setup is technically still intact, but the undefined trade plan and 6-day hold without targets triggers mandatory time stop. Recommend closing and re-entering with a proper documented trade plan (ATR stop, T1/T2/T3 defined).",
        "action": "EXIT full position"
      }
    ],
    "watchlist": [
      {
        "ticker": "WPM.TO",
        "waiting_for": "RSI confirmation in 35–55 range from 2+ sources; MACD histogram positive or turning positive; price holding above 200d EMA; last confirmed price $182.675 (2026-05-25). Gold sector broadly extended — wait for a 5–10% pullback and RSI reset before entry."
      },
      {
        "ticker": "BNS.TO",
        "waiting_for": "Pullback to 20d or 50d EMA after positive breakout momentum. Recently closed 2026-05-22 at $110.21. Re-entry only on confirmed RSI 35–55 (2+ sources) and MACD histogram positive. Do not chase current breakout — wait for EMA retest."
      }
    ]
  },
  "excluded": [
    {
      "ticker": "TD.TO",
      "reason": "RSI 75.92 (exceeds 65 discard threshold) AND earnings 2026-05-28 (2 trading days away — within 3-day earnings exclusion). Dual discard triggers. Price C$156.23, above 200d SMA $123.79."
    },
    {
      "ticker": "CM.TO",
      "reason": "Trading at decade-high P/E of 11.7x vs 10-year average 9.4x. Extension signal consistent with RSI >65. Not a pullback setup — momentum exhaustion risk. On positive breakouts list but outside swing entry criteria."
    },
    {
      "ticker": "AEM.TO",
      "reason": "RSI 72.14 (exceeds 65 discard threshold per Step 3). Overbought despite 22% pullback from $348.94 ATH. Next earnings 2026-07-29 (safe). Market cap well above $500M. Revisit if RSI resets to 35–55 range."
    },
    {
      "ticker": "RY.TO",
      "reason": "Within 1% of all-time record close. Not a pullback setup. RSI likely >65 given price proximity to highs. No confirmed technical data obtained."
    },
    {
      "ticker": "BMO.TO",
      "reason": "Within 1% of all-time record close. Not a pullback setup. RSI likely >65 given price proximity to highs. No confirmed technical data obtained."
    },
    {
      "ticker": "BNS.TO",
      "reason": "On TSX positive breakouts list but moved to watchlist — recently closed position (2026-05-22 at $110.21). Too extended for fresh swing entry. Watching for EMA pullback to validate re-entry."
    }
  ]
}
