{
  "scan_date": "2026-05-27",
  "macro_notes": "TSX Composite at 34,654 (May 26 close), -0.51% session, +31.92% YoY. Bank earnings season active: BMO reports today (May 27), CIBC reports tomorrow (May 28) — elevated event risk on the entire Canadian financial sector. Gold sector is the leading theme on the TSX positive-breakouts list (~20% of 77 positive-breakout names per Globe and Mail). Individual gold miners, however, are pulling back technically after an extended run (AEM.TO is below both its 20d and 50d EMA as of May 27). Screener access was partial today: SwingTradeBot and Barchart live screeners returned index-level pages only; Globe and Mail breakouts and substitute searches were used to surface candidates. No confirmed 4-5 score setups found; one stock placed on watchlist pending technical confirmation.",
  "signals": {
    "new_buys": [],
    "holds": [],
    "exits": [
      {
        "ticker": "ENB.TO",
        "exit_reason": "Time stop triggered. Position entered 2026-05-19; today is 7 trading days held, well past the 3-day rule. No T1 or T2 targets were set at entry so forward progress cannot be measured. Secondary signals support exit: MACD is on a sell signal (3-month MACD, confirmed by GuruFocus as of May 25) and RSI is 70.63 (single-source overbought — noted for awareness, not sole grounds for exit). No earnings risk: Q1 2026 results already reported May 8, 2026. Recommended action: exit full 10-share position at market open.",
        "action": "EXIT full position"
      }
    ],
    "watchlist": [
      {
        "ticker": "AEM.TO",
        "waiting_for": "Price reclaim of 20-day EMA (~C$270.68) from below, on a volume dry-up day, with MACD crossing above zero. Current price ~C$263.65 is below both the 20d EMA (C$270.68) and 50d EMA (C$281.08) — this is a breakdown below key short-term support, not yet a clean pullback-to-EMA entry. Long-term thesis intact: price is above 200d MA (C$247.67) and Q1 2026 earnings were record (revenue C$901M, operating cash flow C$766M, reported May 20 — no earnings risk for 2+ months). MACD is conflicting across sources (one showing bullish cross, latest source shows strong sell). RSI ~51 (single source). Re-evaluate when price closes above C$270 on declining sell volume."
      }
    ]
  },
  "excluded": [
    {
      "ticker": "BMO.TO",
      "reason": "Earnings report today May 27, 2026 — within 3-trading-day earnings exclusion window. Removed before any technical scoring."
    },
    {
      "ticker": "CM.TO",
      "reason": "CIBC Q2 2026 earnings scheduled May 28, 2026 (tomorrow) — 1 trading day away, within 3-trading-day exclusion window. Despite appearing on Globe and Mail positive-breakouts list, removed before technical scoring."
    },
    {
      "ticker": "WPM.TO",
      "reason": "RSI 34.38 — below the 35 oversold threshold (Step 3 hard filter). MACD at -1.55 (sell). Price C$80.50 is marginally above 200d SMA (C$79.53) but momentum deteriorating. Q1 earnings already reported May 7, 2026."
    },
    {
      "ticker": "CSH.UN.TO",
      "reason": "Chartwell Retirement Residences flagged by Globe and Mail (unanimous buy, C$5.6B market cap, C$21.61 analyst target). Insufficient technical data confirmed (RSI, MACD, 200d EMA all null from available searches) — cannot score. Add to next scan if technical data becomes available."
    }
  ],
  "_scan_notes": {
    "searches_used": 13,
    "search_budget": 14,
    "screener_access": {
      "swingtradebot": "inaccessible — live screener requires direct site visit",
      "barchart": "inaccessible — returned index-level pages only",
      "globe_and_mail": "partial — article headlines surfaced sector themes but no confirmed ticker-level technicals",
      "trade_that_swing": "inaccessible — list updated May 5 but not accessible via search"
    },
    "data_quality_warning": "All RSI, MACD, and EMA values sourced from secondary web search summaries, not directly from live charting platforms. Treat as approximate. Verify on TradingView or Barchart before executing any trade.",
    "open_position_summary": "ENB.TO: 1 open position → EXIT signal. 0 positions continuing. 0 new buys today."
  }
}
