Swing Deck Guide — Reference
Open this every morning. It's the user manual for the dashboard, in plain English. About a 20-minute read top-to-bottom — and you'll mostly use it as a quick lookup once you've been through it once.
What Swing Deck is
Swing Deck isn't a chat-with-AI trading app. It's a trading framework that watches your tape every 5 minutes and refuses the trades that would have blown you up six months ago.
Two parts:
- The framework (the math) — 11-point technical score, 13 risk pillars, structural support/resistance, trap detection. Decides "is this a trade or not."
- The dashboard (this UI) — narrates the framework's verdict per ticker, with chips, scores, and AI coaches that explain why.
You don't ask the dashboard "should I buy MU?" You read the framework's read on MU, and decide whether to act on it.
The brand is "the framework, narrated" — never "AI assistant for trading." You won't find a chat box, anywhere. By design.
The two sleeves
Swing Deck runs two books side by side, with different rules. Know which one you're in before you act.
- Swing sleeve — the trading side. Short-to-medium holds, entered on a setup, sized at ~1% risk, protected by a hard stop, exited when the score breaks or the stop hits. This is the BUY / WAIT / EXIT world the cards live in.
- Investor sleeve — the conviction side (the ◈ INVEST ROOM). A small set of durable compounders you've underwritten on a written thesis, sized by valuation rather than stop distance, held with no stop-loss. You exit one only when its thesis breaks — tracked as INTACT → REVIEW → BROKEN — not on a scary candle.
A few of your holdings are protected holds (🔒 HOLD): long-term barbell names that are scored and tracked but locked out of swing actions — no auto-exit, no options, no stop alerts. You can add to them; the framework won't trade around them. They keep your buy-and-hold core from getting swept up in swing signals.
The two sleeves share one account but their capital is carved apart, so a big investor position never makes the swing sizer think you have more (or less) to risk than you do.
Day 1: First open
Three things have to be set up before the framework can do its job. Don't skip them — Swing Deck is most useful when it has full position state.
portfolio.txt— your held tickers, one per line. The framework reads this to track what you actually own and apply position-level rules (sleeve caps, drawdown gates, exit signals).candidates.txt— your watchlist, one per line. The framework scores these too but treats them as not-yet-held.- Broker connection — E*TRADE OAuth (under the Swing Deck app). Once linked, the dashboard can place stops, scale-out orders, and read fills.
If any of these aren't set, the dashboard will tell you with a yellow setup banner. Fix it. Don't dismiss it.
The dashboard, top to bottom (30 seconds)
Index strip (very top) — SPY, QQQ, IWM, VIX, ^IRX. Quick read on the macro tape. VIX > 25 = war mode: different scoring, tighter caps, defensive overlays activate.
Topbar — version chip · audit signal (green/amber/red dot — green means the audit ran clean) · broker status · "+ Add Ticker" button.
Action strip — your priority items: ARMED tickers (ready to enter), AT-STOP tickers (ready to exit), recent alerts. If this strip is empty, there's nothing for you to do right now. That's not a bug.
Card grid — one card per ticker. This is where you spend 90% of your dashboard time.
Risk panel + audit gauge — system-level views (drawdown, sleeve allocation, audit freshness).
Footer — version, ATR multiplier reference, "not financial advice."
Reading a card
We'll use MU on 2026-05-05 as the running example. Open MU's card. Top to bottom:
Score & grade
80/B · HOLD — Bullish · 80
The 11-point composite scored MU at 80, which lands in the B-grade band. Bias is HOLD, which means: if you owned it, keep it. If you don't, the gate is technically open.
Grade scale: - A (≥90) — ACCUMULATE - B (80–89) — HOLD / entry-eligible - C (70–79) — DE-RISK 50% - D (60–69) — REDUCE - F (<60) — HARD EXIT
The trap chip
⚠ Trap: chase-the-top — strong weekly trend at overbought RSI
Here's where the framework saves you from yourself. MU passed the score gate (80/B), but the trap detector caught a contradiction: the weekly trend is strong (ADX-W 41.5 — extreme) AND the weekly RSI is at 80.3 (top decile, deeply overbought). That's the bagholder pattern — you're paying the top of the move.
Rule of thumb: the trap chip overrides the score. If you see a ⚠ Trap: flag, the framework is telling you not to trade — even if the score says go. Don't override. That's the whole point of the contradiction layer.
Execution levels
Entry: $640.20 · SL: $599.75 · TP1: $739.42 · R:R 2.45
These are the prices the framework would actually execute at:
- Entry = current price. You'd place a stop-limit at this level.
- SL = stop-loss. The tighter of
(structural support × 0.999)or(entry − 2×ATR). For MU today, structural support landed at $599.75 — just barely tighter than 2×ATR. So: structural stop, but a wide-ish one (~6% drawdown if hit). - TP1 = first scale-out, where you sell 40%. The tighter of
(structural ceiling × 0.999)or(entry + 3×ATR). MU has no clean structural ceiling within 3×ATR — so TP1 stays at the ATR target, $739. That's a 15.5% run from current. Long way to go. - R:R = (TP1 − Entry) ÷ (Entry − SL). 2.45 clears the 2:1 floor. On paper.
The R:R looks fine. The TP1 distance + the trap chip together are the reason this isn't a trade today.
Hidden Tape, Whale Sentiment, Gamma
These three sections show institutional positioning. Look for two patterns:
- Confirmation — bullish news + accumulation OBV + call-dominant gamma + clean tape = institutions are buying. Score reflects this.
- Contradiction — bullish price + put sweeps + bearish max-pain + dark-pool selling = retail is buying the top, smart money is selling. Trap territory.
When the price action and the institutional flow disagree, trust the flow. Retail moves prices on the way up; institutions move them on the way down.
Pillars (the gates)
A row of small chips at the bottom of the card. Green = pass · Red = violation · Amber = warning. The framework refuses sizing decisions that breach a pillar. See the pillars section below for what each one refuses and why.
AI coaches
Click the card. The modal opens. At the top you'll find triggered coaches: Pillar Coach, Entry Coach, Exit Coach, Trap & Structure, Whale Confirmation, Devil's Advocate, etc.
Each coach is bound to a specific framework moment with structured inputs. They never appear unless the framework triggered them. There's no "ask the AI a free-form question" surface — by design. The framework decides what's worth narrating.
If you don't see a coach you'd expect, that means the trigger didn't fire — not that the AI is broken.
The three decisions you'll make daily
BUY
All required, no exceptions:
- Composite ≥ 80 (B-grade or better)
- Canonical R:R ≥ 2.0
- No
⚠ Trap:flags (this one trumps the score) - All baseline pillars green (pillars 1–7)
- Audit ≤ 15 min old
- No earnings within 3 sessions
If all that's true, the swing signal reads ARMED · ENTER STRONG and a buy button appears on the card. The button is there because the math cleared, not because the AI told you to. You still pull the trigger.
If the conditions are almost met but you see WAIT — R/R LOW or WAIT — Weekly Unconfirmed, that's the framework saying "the score is good, but one specific gate isn't open." Wait for the gate. Don't override.
Worked example, 2026-05-05: Today, no ticker is BUY-eligible. MU has 80/B but the trap flag fires. Everything else is below 80. Cash sits idle. That's a feature.
WAIT
You'll see this most days. The framework is conservative by design — most setups don't clear all the gates. If you find yourself wanting to override a WAIT, look at the specific gate that's red:
- R:R < 2:1 → the upside math is thin. Wait for a pullback that improves the geometry.
- Weekly Unconfirmed → daily looks good, weekly doesn't. The trade has half the structural support it needs.
- Sweep detected → there's recent unusual flow. Check the Whale tab before doing anything.
- E4 review → score below 80. The gate isn't open.
EXIT
Three triggers:
- STOP OUT — price hit your SL. The bracket order auto-fires; you don't have to do anything. Verify the fill in your broker's open orders.
- AT-STOP / NEAR-STOP — price within 2–5% of SL. Tighten the stop if weekly RSI > 70. Don't widen it.
- Score drops below 70 —
DE-RISK 50%flag fires. Sell half, hold the rest with a tighter trailing stop.
Mental stops negotiate. Broker stops don't. The framework's exit rules are non-negotiable. Every entry ships with a GTC stop at ETRADE. The Raise-Stop automation only ever moves stops up*, never down.
The 13 pillars in plain English
Pillars are the framework's refusal mechanism. They don't pick trades — they reject trades the scanner wants to take but shouldn't. Each pillar is a specific failure mode the framework has seen blow up portfolios.
Pillars 1–7 are baseline (always active). Pillars 8–13 are war-time overlays (activate when VIX > 25 or other regime triggers).
| # | Pillar | The trade it refuses | The voice in your head |
|---|---|---|---|
| 1 | Armor Cap (15% per asset) | Single position > 15% | "I'm so sure about this one." |
| 2 | Red-Line (7% drawdown) | Holding through a 7% portfolio drop | "Just one more dip and we're back." |
| 3 | Pre-Market Firewall | New longs when ES futures down >1.5% pre-open | "I'll catch the falling knife." |
| 4 | Sector Cap (40% per theme) | Five semis disguised as diversification | "NVDA, AVGO, AMD, SMCI, MRVL — totally spread." |
| 5 | Hard-Cash Floor (10%) | Going below 10% in cash/T-bills | "If you're 100% invested, you can't add." |
| 6 | Earnings Proximity (3 sessions) | New entries within 3 sessions of earnings | "Gambling on the print." |
| 7 | Stop Discipline (Trade-the-Structure) | Holding without a real broker stop in place | "I'll just exit mentally if it dips." |
| 8 | Defensive Oil Cap (15%) | Energy > 15% in war regimes | "Doubling down on shocks." |
| 9 | Hardware War Cap (30%) | Compute > 30% in inversion regimes | "Semis are defensive, right?" |
| 10 | Velocity Exception (35%) | Sleeve > 35% even on momentum names | "It's running, let me press." |
| 11 | Gap Protection | Full-size positions in earnings/Fed/CPI weeks | "Headlines won't matter to my chart." |
| 12 | Armor Yield Floor (^IRX ≥ 4%) | Sitting in T-bills below 4% yield | "Cash that doesn't pay." |
| 13 | Diplomatic Decay (48h post-truce) | Riding tech tops 48h after a named truce | "Geopolitics doesn't matter to my portfolio." |
The pillars are a mood. They're the trader's six-months-ago self saying "don't make the trade I would have made." The math floor — not motivation.
AI coaches: when they fire, what they do
Each coach is bound to a specific framework event. They never appear unless the event triggered.
| Coach | Triggers when... | What it tells you |
|---|---|---|
| Entry Coach | A ticker enters ARMED state | The thesis vs. the risk, in one read |
| Exit Coach | Score drops below 70, or SL approached | Should you exit fully, half, or wait |
| Pillar Coach | A pillar is being violated or about to be | Which pillar, why, and what to do |
| Trap & Structure Coach | Trap detector fires | Walks the contradiction in detail |
| Whale Confirmation Coach | Institutional flow contradicts price | Who the smart money is, in or out |
| Devil's Advocate | Conviction is high (score ≥ 90 + ARMED) | Argues the OTHER side. Adversarial by design. |
| Thesis Drift | Today's signals contradict your 14d-old AI thesis | Where the read changed |
| Position History Audit | Held position with recent score drop | Why this position is no longer scoring |
| Comparable Setups | Today's tape matches a prior known setup | What happened last time |
| Catalyst Interpreter | News / earnings / Fed event detected | What the catalyst actually means for this ticker |
No chat box. Ever. AI is summoned by triggers, never by free-form questions. That's the brand line.
Common questions
Q: Why is everything below 80? The 80 gate is the B-grade entry threshold. By design, most setups don't clear it. As of v6.6, the framework is fully calibrated: the gate is hard, and clean setups are rare. If 4 of 8 tickers are clearing 80 on a quiet day, something's miscalibrated. If 0–1 are clearing, the framework is doing its job.
Q: Why is my SL tighter than 2×ATR? v6.7.47 introduced Trade-the-Structure execution. When structural support sits closer than 2×ATR, the SL snaps to support × 0.999. It's still a real stop — based on a falsifiable thesis: this support level holds; if it breaks, you were wrong; exit small. The 2×ATR floor is preserved as the lower bound; the SL is never wider than 2×ATR, just sometimes tighter.
Q: Why was MU on the watchlist with a trap warning?
The watchlist scores everything regardless of position state. MU cleared the score gate (80) but the framework's contradiction detector fired (⚠ Trap: chase-the-top). The watchlist surfaces both signals so you can see the full read — and refuse it.
Q: My SL is wider than I'd like. Can I tighten manually? You can. Edit the SL on the card before placing the bracket. Just remember: anything tighter than 2×ATR will get whipsawed by routine vol. The framework's SL is the safer bound; tightening from there is a personal-conviction move and you own the consequences.
Q: What do I do when the audit signal goes red? The audit hasn't refreshed in > 15 min. Check the topbar. Hit the refresh button. If it stays red, restart the framework process. The dashboard shows stale data until the audit completes — don't trade off it.
Q: The score moved from 76 to 73 between cycles. Did something break? No. Composite scores fluctuate ~1–3 points cycle-to-cycle as live data refreshes (intraday quotes, sentiment, gamma walls). What matters is the band (A/B/C/D/F) and whether trap flags are firing — not the exact integer.
Q: I'm seeing "WAIT — Weekly Unconfirmed" on a ticker with a great daily chart. What's that mean? The daily structure is HH/HL but the weekly EMAs aren't aligned. The framework wants confirmation across both timeframes before opening the gate. Half the trade's structural support is missing. Wait, or skip.
The MU 2026-05-05 walkthrough — the trade we didn't take
Setup at audit time
- Score: 80/B · Bias: HOLD — Bullish
- R:R: 2.45 (clears the 2:1 floor)
- Entry: $640.20 · SL: $599.75 (struct) · TP1: $739.42 (3×ATR — no structural cap)
- Trap flag:
⚠ Trap: chase-the-top — strong weekly trend at overbought RSI - Weekly: ADX 41.5 (extreme trend) · RSI 80.3 (extreme overbought)
The temptation
MU is up huge. The score is a clean 80. R:R looks fine. Daily structure is HH/HL. Bullish news. Call-dominant gamma. On paper, every momentum signal is screaming yes.
The framework's read
The trap detector caught what the score gate missed. Strong weekly trend on overbought RSI is the bagholder pattern — the move has already happened, you'd be paying the top of the move, the next move is statistically more likely down before up.
The fact that compute_structure couldn't find a primary_R for MU means the framework can't see where price would actually pause. TP1 sits at $739 because there's no structural ceiling closer — but that requires another 15.5% run in a straight line to hit. With weekly RSI at 80, that's improbable.
The decision
Wait. Set a watchlist alert at $610–620 — that's where MU pulls back to a tight-structural setup with a real edge.
Why this generalizes
This is the VRT pattern from your published methodology — clean structure, wrong moment. The framework's contradiction overlay refuses what the score gate allowed. The discipline isn't "trust the AI" — it's "trust the framework's refusal mechanism more than your own urge to chase."
If you find yourself overriding a ⚠ Trap: flag once, you'll do it again. The first override is the most expensive trade you'll ever make.
The DXCM 2026-05-20 walkthrough — the trade we almost took
The MU walkthrough above is about a trap flag the framework caught at audit time. This one is different. The entry trigger fired. A 4/4 ARMED breakout signal on a ticker scoring 82. By every momentum signal it looked like a textbook setup. I almost pulled the trigger at the morning highs. I didn't. Here's how to read what the cards were actually saying — and how the three views on the card (Audit, Swing Ops, Position Sizer) tied together to tell the real story.
The card at the decision moment — 11:30 ET
Here is what the DXCM card actually looked like at the moment of decision. Read the chips top to bottom — the order matters.
Not extended (dist21 < 2 ATR)
Underlying values for reference: R:R chip 1.20 (chip math: 6.34 / 5.29 from displayed levels) · R:R gate 11.62 (canonical breakout reach to the next structural ceiling) · Weekly: Unaligned.
What the AUDIT section showed
The top of the card has two reads you cross-check before anything else:
- Score row. 82 at pre-market open → 78 at 11:30 → 78 EOD. The score dropped while the price ran. That's the framework correctly weighing "extension" — the move's quality decays as price stretches further from EMA21 without a pullback to reset. A score that goes down on a green day is the framework's first contradiction signal.
- Bias chip. HOLD pre-market → DE-RISK 50% at 11:12 → stayed DE-RISK 50% the rest of the day. A bias flip from HOLD to DE-RISK 50% on the same name in the same session is a regime warning, not a normal trading state. The framework is saying: "If you owned this, I'd ask you to trim half. So why would you buy it now?"
If you read only the audit row at 11:30, the message is already clear: a HOT-tier score that's eroding + a defensive bias chip = don't initiate.
What the SWING OPS section showed
This is where the entry trigger lives. Swing Ops translates the audit's score into "is this actionable right now?" — and shows you when the trigger's mechanics disagree with the composite gate.
- ✓ Volume ≥ 1.5× avg (breakout thrust)
- ✓ MACD bullish
- ✓ Price > 1.5 ATR above EMA21
- ✓ RSI < 75 (room to run)
- ✗ Weekly trend aligned — daily green, weekly mixed
Four of five passing is not the same as ARMED. The missing one is "Not extended" — DXCM had stretched > 2 ATR above its 21-day EMA, meaning a normal mean-reversion pullback would hit before TP1 has room to run. The framework's swing_signal field read "WAIT — Weekly Unconfirmed" — that's the verbal version of the trigger state.
Two ARMED windows actually existed today: 00:02–09:42 ET (pre-market through the open) and 16:19–16:45 ET (last 25 min of session). Both correctly suppressed by other gates:
- First window: R:R chip = 1.09 (canonical at the time), fails the 2.0 floor. Alert engine refuses to chime on R:R-below-gate signals (post-v7.8.146 fix). No
entry_armedalert ever fired. - Second window: gate R:R = 41.84 (passing easily), but score dropped 80 → 78 between 16:13 and 16:16. Score below the ENTRY_SCORE_GATE = 80 means the score-gate vetoes regardless of R:R or trigger state.
Three independent gates protected against false-positive entry: R:R lens, ENTRY_SCORE_GATE, and the bias=DE-RISK 50% downgrade. Each one alone would have blocked. Defense in depth working as designed.
What the POSITION SIZER section showed
The third view on the card. The sizer turns "should I buy?" into "what does this cost me if I'm wrong?"
Note the "If authorized" prefix — the sizer prints the math conditionally, so you see what you'd be risking without the chip itself implying authorization.
The temptation here is to tighten the stop to make the chip R:R math read 2.0:1 — set SL at $66.97 instead of $64.85. The math would clear. Side-by-side:
The engineered stop "wins" on chip R:R math. But the morning low $66.63 hit at 09:47 ET — below the engineered $66.97 stop. If I'd entered at $70 with the tightened stop, I'd have been blown out before the rally even started.
The sizer doesn't tell you tightening the stop is wrong. It shows you the cost. The structurally honest stop has the price level where your trade thesis is actually wrong. The engineered stop has the price level where you wanted the math to look better. Those aren't the same thing.
The temptation
DXCM ran +6.71% on the day. By every momentum signal — strong vol, MACD bull, RSI in sweet spot, above EMAs, breakout structure, score 82 at open, 4/4 trigger ARMED — it looked like the setup. The R:R chip read 1.20 but the canonical (gate) read 11.62 because the breakout had room to reach structural ceilings 80%+ away. By eye, it looked like a clean asymmetric bet.
That "asymmetric bet" is the trap. An 11-to-1 gate R:R only exists when the target ceiling sits ~88% above price — months of price action, not a swing-trade horizon. A reward that large, that far out, isn't an edge; it's the framework measuring a distance you'll never hold long enough to collect. The honest R:R for a tradeable horizon was the 1.20 chip reading. Swing Deck caps R:R readings that reach implausibly far for exactly this reason: a too-good ratio is almost always far-target inflation, not a real edge — a data-quality warning, not a green light.
The framework's read — all three views speaking together
- Audit said: score eroding from 82→78, bias HOLD→DE-RISK 50%. Don't initiate.
- Swing Ops said: 4/5 trigger criteria — extension veto is firing because you missed the clean entry zone three hours ago. The setup was tradeable at $66.95 with R:R that didn't clear; it isn't tradeable at $70.14 with R:R that finally clears for the wrong reason (price ran toward the next structural ceiling).
- Position Sizer said: structurally honest stop costs $5.29/share. Engineered stop costs you the next normal pullback. Either way the asymmetry is worse than it looked.
Three views, three independent refusal signals. The card was screaming "don't."
The decision
Wait. Stayed in cash. Watched the close at $71.44 — DXCM finished above the highs of the day — and felt the urge to second-guess.
The post-mortem — tape evidence (Databento)
After market close, pulled the institutional trade tape for the last 60 minutes:
Translation: institutions were selling into the move that retail was chasing to the highs. The close at $71.44 was retail momentum capped by institutional distribution.
A fourth independent confirmation, this one from the tape itself: the buyers were finishing while the sellers were still working the offers. The framework's three refusal signals matched the tape's read.
Why this generalizes
This is the inverse of the March-2026 Iran-shock pattern. In March I had the same framework. I overrode it. I bought reactive into a regime shift on names that scored well but failed gates, set tight stops to make the math work, and held through the stop-outs because the narrative still felt right. The framework's caps existed then. They were ignored. Net result: $3,800 in tuition for one lesson.
Today the cards said no through three independent lenses — audit, swing ops, sizer. The tape confirmed it after close. The discipline isn't "don't buy breakouts." The discipline is "don't buy breakouts where one of three views is yellow." When the score is eroding, or the bias is DE-RISK, or the sizer requires an engineered stop to clear the gate — the trade isn't asymmetric anymore. It just looks asymmetric on one chip.
The trade I almost took today is the trade that costs $1 ATR on a 1.2× ATR stop. The trade I didn't take stays as cash earning yield in USFR + SGOV, waiting for the next setup where all three views are green at once. Those exist. They're rarer than the day-trading press would have you believe. Patience is the framework's expensive ingredient.
If you remember one phrase from this walkthrough: the entry trigger firing is necessary, not sufficient. Cross-check the audit score trajectory, the bias chip, and the sizer's required stop before you act. When any of the three is yellow, the card is telling you the setup is technically valid and operationally unsafe. Those are different things.
Where to go next
-
SWING_DECK_DEEP_GUIDE.md— the deep reference. The audit cycle internals, every coach individually, broker integration, options layer, war mode, calibration, edge cases, and the case studies library (VRT TRAP→NEUTRAL, AAPL EXTREME→SCHEDULED, NVDA TRAP→CHASE, PLTR insider sell, MU trap, and growing). -
CHANGELOG.md— version history. -
README.md— installation, requirements, dependencies.
You don't need any of those to use Swing Deck day to day. This guide is enough.
Swing Deck is a trading framework. Not financial advice.