SPDETRADE
Guide

How to use the AlphaCore dashboard

Walkthrough of every tab, what each badge means, and how to plan trades.

The strategy in one paragraph

PatternSleeve scans a curated 178-ticker universe every weekday after market close for one of 14 chart patterns. It only acts on patterns that pass three filters: a minimum historical edge (sleeve threshold), an extension filter (skip stocks that already ran), and a gap-up rule at execution (skip if next-day open jumps >2.5%). Up to 5 positions held at once. Each is exited via a trailing chandelier stop or an X1 weakness signal (>4% gain + red bar + below 3-day high). Backtested 2006-2026: Sharpe 1.50, CAGR 29.6%, MaxDD -23.5%.

Daily rhythm

Time (ET)What runsWhat you see
9:45 AMIntraday check #1Live panel updates with held positions + watchlist scan; push if anything trips
11:30 AMIntraday check #2Same as above
1:30 PMIntraday check #3Same as above
3:00 PMIntraday check #4Same as above
5:00 PMEOD heavy runFull pattern detection on settled bars; recommendations published; push notification ~8:30 PM

The 5 PM run is the only one that produces buy/sell recommendations. Everything else is monitoring only.

Tab: Sleeve (home)

The main page. Top-down:

  • Header stripSignal date, freshness badge, and the runner's last-completed status. Click the icons for details about data quality and next cron firing.
  • Drift alertOnly appears if the 5 PM EOD run produced different recommendations than an earlier intraday read. Calls out adjustments to make.
  • Tonight's actions (SELL/BUY)Surfaced first because they're what you act on. SELL panel shows positions to exit + the replacement ticker. BUY panel shows new positions to enter for next morning.
  • Live positions5 holdings in real-time. Each row: status badge (ACTION / WATCH / UNDER / FLAT), ticker, current price, % return. Tap the badge for an explanation of what the status means and what to do.
  • Current portfolioPer-position trade plan: entry price, target, stop, days held / horizon. No P&L here — Live positions panel owns that.
  • BenchCandidates that scored well but didn't get a slot tonight. Useful context.

Tab: Watchlist

Near-confirmation candidates — patterns where the structural setup is met but the breakout trigger hasn't fired yet. Updated by the 5 PM cron. Each entry shows breakout level, suggested limit-buy price, est. target, est. stop, and setup quality.

During market hours, the intraday check scans these 50 candidates. If a ticker crosses its breakout level and still passes the F2 extension filter, you get a push: BREAKOUT@$XX.XX. That's a real-time call to consider entering before the EOD cron formally confirms it.

Charts (deep-link only)

Daily candlestick view of any held or watchlist ticker, with overlays for entry, target, stop, and (for watchlist) breakout level. No longer in the top nav — click a ticker name anywhere (Portfolio, Watchlist, Trades) to open the chart for that ticker.

Tab: Trades

PatternSleeve audit history since 2026-04-01: every entry, exit, outcome, and P&L, recorded in audit.db by the EOD cron. Top of the page summarizes realized, unrealized, win rate, and profit factor. Below the trades table is a Silent Drops panel showing every candidate the engine evaluated but rejected (F2 extension, sleeve too weak, etc.) — useful for understanding why the cron decided not to fill a slot.

Open trades are joined against the latest current_holdingsfor live unrealized P&L. Closed trades surface outcome (target / stop / X1 weakness / X4 swap / horizon) as a color-coded pill.

Tab: ML Pick

Separate strategy (WeeklyML) that picks one stock per Monday based on a machine-learning ranker. Independent of AlphaCore — they don't share state. Listed here for visibility.

Notification bell (top-right)

Click the bell icon, then "Turn on" — you'll be subscribed to web push notifications. Push fires for:

  • EOD signal (~8:30 PM)When the 5 PM cron emits any sells or buys for next morning
  • Intraday weaknessWhen a held position triggers X1 / hits its stop / hits its target
  • Intraday breakoutWhen a watchlist candidate crosses its breakout level mid-day
  • Drift alertIf 5 PM EOD reading differs materially from earlier intraday reading

iPhone setup: Safari → Share → "Add to Home Screen" first, then open from the home-screen icon. Apple requires PWA install for web push since iOS 16.4. Android & desktop work in any browser tab.

How to plan a trade — morning execution

You wake up. You see a push from last night: AlphaCore: 1 BUY for next session. Open the Sleeve tab. For each item under Buy tonight:

  1. Place a GTC limit BUY at the signal_close price (shown on the card).
  2. At 9:30 ET market open, watch the open print:
Open vs signal_closeWhat happensAction
≤ +2.5% gapLimit fills at your bidLet it fill, set GTC stop at stop_price
> +2.5% gap upTIERED skip rule kicks inCANCEL the order; do not chase
−5% to 0% gapOpen below your bidLimit fills below — fine, take it; set stop
< −5% catastrophic gapPattern likely invalidJudgment call — usually skip

For SELL recommendations: exit at the open via market or limit at the prior close. Then place the new BUY for the same slot.

For HOLDS: nothing to do — your existing GTC stops handle exits. The chandelier stop ratchets up automatically as price makes new highs (recomputed each 5 PM run).

What the badges mean (Live positions)

BadgeMeaningWhat to do
ACTIONTrigger fired (X1 weakness / stop hit / target hit)Exit at next open. EOD cron will reflect it in tonight's sells.
WATCH>4% gain — in X1 weakness-watch zoneHold. If today closes red AND below 3-day high, X1 fires automatically.
UNDERBelow entryHold. Anti-churn rule: AlphaCore won't proactively exit losers — only chandelier stop can.
FLAT0–4% gainHold. X1 needs >4% to fire — not in watch zone yet.

Why HOLD on a losing position?

The strategy's anti-churn rule: don't sell a losing position to buy something else that might also drop. Backtests showed this churning behavior was responsible for most strategy underperformance. So once you're in, AlphaCore only exits via the original stop — no proactive cuts.

Position sizing

Default: equal-weight 5 slots — each position is 1/5 (20%) of your trading capital. Scale to whatever account size you run; the strategy is sized in percentages, not dollars. The simulator tracks a notional base internally so it can compute slot share counts, but all reported returns are %.

When to override the system

Generally: don't. Backtests show the mechanical rules outperform human-judgment tweaks over multi-year windows. Override situations that might warrant discretion:

  • Earnings tomorrow on a held positionStrategy doesn't know about earnings — consider trimming or sizing down.
  • Macro shock during the day (Fed surprise, geopolitics)Intraday checks may not have fired yet — your judgment on the broader tape applies.
  • Personal liquidity needsSell what's most extended (highest WATCH badge), not the underwater positions.

How to read the historical record

The Performance tab (if/when re-enabled) and the underlying backtest data show 21 years of simulated returns. 17 of 21 years positive. Worst year: −8.4% (2008). Best year: +97.9% (2024). Annualized: +29.6%. Past performance doesn't predict the future — but the consistency across regimes (bull, bear, sideways) gives you a sense of variance to expect.

When something goes wrong

  • Dashboard not loadingspde-trade.service may be restarting after a deploy. Wait 10 seconds and refresh.
  • Recommendations look staleCheck the header freshness badge on the main dashboard for the last cron run timestamp. The 5 PM EOD cron should have completed by 8:30 PM.
  • Intraday panel says 'No data'Polygon snapshot endpoint failed — usually transient. Next intraday check should recover.
  • Push notifications stop arrivingTap the bell, click 'Turn off' then 'Turn on' to re-subscribe. The browser may have rotated the subscription.
  • Order didn't fill at the openIf gap was >+2.5%, that's correct (TIERED skip rule). Otherwise check your broker's GTC handling.
← back to Sleeve