Account
Account Overview
Last refresh: demo
Market: Demo feed — test data
Liquidation Value
$100,000.00
Cash Available
$95,680.00
Long Market Value
$4,320.00
Day P&L
$18.40 +0.02%
Positions
4
Account Number
DEMO-0000
Positions
| Symbol | Qty | Cost | Last | P&L | P&L % | Signal |
|---|---|---|---|---|---|---|
| SPY | 4 | $497.90 | $500.00 | $8.40 | +0.42% | ENTER |
| QQQ | 2 | $427.60 | $430.00 | $4.80 | +0.56% | ENTER |
| DIA | 2 | $399.10 | $400.00 | $1.80 | +0.23% | WATCH |
| IWM | 2 | $211.20 | $210.00 | -$2.40 | -0.57% | AVOID |
Stops
| Symbol | Qty | Stop Level |
|---|---|---|
| SPY | 4 | Held at IBKR: 1.60% trail x2 GTC 3.20% trail x2 GTC |
| QQQ | 2 | Held at IBKR: 1.60% trail x1 GTC 3.20% trail x1 GTC |
| DIA | 2 | Held at IBKR: 1.60% trail x1 GTC 3.20% trail x1 GTC |
| IWM | 2 | Held at IBKR: 1.60% trail x1 GTC 3.20% trail x1 GTC |
After each buy, stop logic is required immediately.
Watchlist
| # ⇅ | Symbol ⇅ | Last ⇅ | Change ⇅ | % ⇅ | Phase ⇅ | Signal ⇅ | Status ⇅ |
|---|---|---|---|---|---|---|---|
| #1 | SPY | $500.00 | $2.10 | +0.42% | Light Blue | ENTER | LIVE |
| #2 | QQQ | $430.00 | $2.37 | +0.55% | Light Blue | ENTER | LIVE |
| #3 | DIA | $400.00 | $0.72 | +0.18% | Neutral | WATCH | LIVE |
| #4 | IWM | $210.00 | -$0.73 | -0.35% | Yellow | AVOID | LIVE |
| #5 | AAPL | $190.00 | $1.80 | +0.95% | Blue | ENTER | LIVE |
| #6 | MSFT | $410.00 | -$0.49 | -0.12% | Neutral | WATCH | LIVE |
| #7 | NVDA | $120.00 | $1.92 | +1.60% | Dark Blue | ENTER | LIVE |
| #8 | AMZN | $180.00 | $0.56 | +0.31% | Light Blue | ENTER | LIVE |
| #9 | GOOGL | $160.00 | -$0.77 | -0.48% | Yellow | AVOID | LIVE |
| #10 | META | $500.00 | $0.40 | +0.08% | Neutral | WATCH | LIVE |
| #11 | GLD | $230.00 | $0.83 | +0.36% | Light Blue | ENTER | LIVE |
| #12 | TLT | $95.00 | -$0.59 | -0.62% | Yellow | AVOID | LIVE |
| #13 | XLF | $42.00 | $0.09 | +0.22% | Neutral | WATCH | LIVE |
| #14 | XLE | $90.00 | -$0.99 | -1.10% | Orange | AVOID | LIVE |
| #15 | XLK | $210.00 | $1.47 | +0.70% | Light Blue | ENTER | LIVE |
| #16 | JPM | $200.00 | -$0.10 | -0.05% | Neutral | WATCH | LIVE |
Signal: ENTER at or above +0.30%, AVOID at or below -0.30%, WATCH between. A symbol with no live price reads NO DATA and is never classified.
Trade
Trade Ticket
Keelwise proposes — you decide. Review before arming.
Propose
No active proposal. Run classify and rank first.
System
Trade Record
Signals logged0
Closed trades0
Win rate---
Profit factor---
Max drawdown---
Rule compliance---
Gate: HOLDEvery signal the rolling-average-crossover loop finds is logged here automatically -- no clicking required. Use the form below only to log something by hand.
No evidence logged yet -- it appears here the moment the loop finds its first signal.
Journal
demo 09:58:12TLTPROPOSE BUY 1REFUSEDRefused: quote stale — entries need a fresh ask
demo 10:08:05QQQBUY 2 (protected)FILLEDOperator approved; two broker-held trails placed
demo 10:09:38DIABUY 2 (protected)FILLEDOperator approved; two broker-held trails placed
demo 10:10:47IWMBUY 2 (protected)FILLEDOperator approved Keelwise proposal; two broker-held trails placed
Operator
Operator Posture
Confirm Power → Keelwise → Arm before routing.
Alert Mode
✅ No active alerts
Recent Activity
—last cycle
action— → —
Administrator
Administrator
Route Arm File
DISARMED
rosie_route_arming.json — the file-level gate. ARMED means the gate is open; it does not by itself mean an order will fire.
Open Security Items
1 open
OPEN · Schwab OAuth credentials exposed in GitHub pull-request refs · [SEC-2026-07-05-ENV]
A .env file was committed on 2026-07-05 in commit 7b5f85d, containing SCHWAB_APP_KEY, SCHWAB_APP_SECRET, SCHWAB_CALLBACK_URL and SCHWAB_TOKEN_PATH. It is NOT present on main or on any branch, and .env is correctly gitignored. It remains reachable on GitHub through refs/pull/1/head and refs/pull/2/head. Pull-request refs are not branches, so git filter-repo and force-push cannot remove them. Repository is private and secret scanning is disabled. CONFIRMED EXPOSED 2026-09-21: the operator regained developer-portal access and compared the live App Details pair against the committed pair. They are identical, so the credentials in use are the leaked ones. ROTATION IS NOT POSSIBLE. The Schwab developer portal offers no key or secret regeneration and no app deletion; deactivation is the only control, and retail individuals are limited to one app per API. Schwab support's stated position is that app keys contain no personal information and cannot be used to reach brokerage account details, and that changing them requires their internal team to deactivate the app so a NEW developer-portal account can be registered under a DIFFERENT email address. Community-reported, not Schwab documentation -- see https://www.reddit.com/r/Schwab/comments/1pqxme7/schwab_api_cannot_delete_an_app_or_rotate/ -- but consistent with the controls visible in the portal UI. Worth one direct confirmation to TraderAPI@schwab.com before acting on it. These are OAuth app credentials, not account credentials: they cannot reach funds without a completed Schwab login and a listener on the callback URL https://127.0.0.1:8182. NO IBKR CREDENTIAL HAS EVER BEEN COMMITTED TO THIS REPOSITORY. An earlier version of this panel claimed live IB credentials were exposed; that claim was false and cost operator time on 2026-09-17.
Remedy: The original remedy -- rotate the key and secret, or have Schwab delete the app -- is impossible; see detail. The fix is therefore to remove the place the pair is readable rather than to change the pair. PRIMARY: ask GitHub Support to purge refs/pull/1/head and refs/pull/2/head. Targeted, free, and it preserves the app's hard-won Ready For Use status. FALLBACK: push every branch to a fresh private repository and delete this one. PR refs die with the repository. Cost is the loss of pull-request history, which is the written record of why this code is the way it is. LAST RESORT: have Schwab deactivate the app and register a new developer-portal account under a different email. Zero residual risk, highest cost -- a new account, re-approval that has been reported to take weeks, and the loss of an app that took until 2026-09-21 to reach Ready For Use. DO NOT rewrite git history for this -- it cannot fix PR refs. HARDENING that costs nothing and applies regardless: run the callback listener only during the OAuth flow, never leave port 8182 listening. AND NOTE: once the OAuth flow is completed, the resulting token file is more sensitive than the app key, because it DOES reach the account. It must live outside the repository alongside .env, and must never be committed. No longer blocked on Schwab portal access -- that was resolved 2026-09-21, which is why this item moved from BLOCKED to OPEN. Not required for any IBKR paper work.
Last verified: 2026-09-21
Diagnostics
ROUTEDISARM
POWERON
KEELWISEON
HB—
CYCLE—
DEMOOK
NOTE—