How to use the AlphaCore dashboard
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 runs | What you see |
|---|---|---|
| 9:45 AM | Intraday check #1 | Live panel updates with held positions + watchlist scan; push if anything trips |
| 11:30 AM | Intraday check #2 | Same as above |
| 1:30 PM | Intraday check #3 | Same as above |
| 3:00 PM | Intraday check #4 | Same as above |
| 5:00 PM | EOD heavy run | Full 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 strip — Signal date, freshness badge, and the runner's last-completed status. Click the icons for details about data quality and next cron firing.
- Drift alert — Only 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 positions — 5 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 portfolio — Per-position trade plan: entry price, target, stop, days held / horizon. No P&L here — Live positions panel owns that.
- Bench — Candidates 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 weakness — When a held position triggers X1 / hits its stop / hits its target
- Intraday breakout — When a watchlist candidate crosses its breakout level mid-day
- Drift alert — If 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:
- Place a GTC limit BUY at the signal_close price (shown on the card).
- At 9:30 ET market open, watch the open print:
| Open vs signal_close | What happens | Action |
|---|---|---|
| ≤ +2.5% gap | Limit fills at your bid | Let it fill, set GTC stop at stop_price |
| > +2.5% gap up | TIERED skip rule kicks in | CANCEL the order; do not chase |
| −5% to 0% gap | Open below your bid | Limit fills below — fine, take it; set stop |
| < −5% catastrophic gap | Pattern likely invalid | Judgment 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)
| Badge | Meaning | What to do |
|---|---|---|
| ACTION | Trigger 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 zone | Hold. If today closes red AND below 3-day high, X1 fires automatically. |
| UNDER | Below entry | Hold. Anti-churn rule: AlphaCore won't proactively exit losers — only chandelier stop can. |
| FLAT | 0–4% gain | Hold. 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 position — Strategy 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 needs — Sell 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 loading — spde-trade.service may be restarting after a deploy. Wait 10 seconds and refresh.
- Recommendations look stale — Check 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 arriving — Tap the bell, click 'Turn off' then 'Turn on' to re-subscribe. The browser may have rotated the subscription.
- Order didn't fill at the open — If gap was >+2.5%, that's correct (TIERED skip rule). Otherwise check your broker's GTC handling.