A squad of AI specialists trade NQ on a simulated book. The General calls every move in real time — entries, stops, targets spoken before fills, never in hindsight. You watch. You decide what to do with it. We care zero.
Zero capital at risk. Zero advice given. Zero broker integrations. Zero user accounts to monitor. Just specialists trading, the General calling plays, and a permanent archive of every trade — the training data is a second business.
Live. Simulated capital. Named specialist algos trade NQ. The General narrates. Broadcast on YouTube + Kick. Free to watch delayed. Subs get real-time.
Every trade logged, journaled, memorized. Specialist memory compounds. The dataset is the asset — licensable to hedge funds + prop firms over time.
Discord is the room. The Forge lets users submit strategies that graduate onto the War Room as new specialists. Submitters get attribution.
NQ futures tick data streams in. 11 Strategy Forge indicators compute on every bar. Other assets (ES, QQQ, SPY, CL, GC, VIX, DXY) feed as breadth/sentiment context into a shared dark pool every specialist reads. Already in production in TradeMind.
# already live · api/live_feed.py · 371 lines · production class LiveFeed: primary = "NQ" # the only instrument we trade breadth = ["ES", "QQQ", "SPY", "CL", "GC", "VIX", "DXY"] indicators = [ORB, VWAP, RVOL, ATR, Gap, Range, LiquiditySweep, BOS, CHoCH, FVG, OrderBlock] async def on_bar(self, bar): self.dark_pool.update(bar, self.indicators) for spec in self.squad: await spec.read(self.dark_pool)
Each specialist is a Python state machine (cheap, always-on) with a character-specific LLM prompt invoked only when narrating. THE OVERNIGHTER, THE OPENER, THE SNIPER, THE RUNNER, THE ICT, THE SCALPER, THE STALKER. Each emits phase/progress/signal at every bar.
When a specialist fires, the signal is sent to a real broker platform (TopStep) running in sim mode. Fills come from the actual broker matching engine — real order book depth, real slippage, real latency. We don't model anything. We don't compute P&L. The broker does. Our dashboard pulls P&L directly from their API.
# broker_bridge.py — we call, broker executes, we display class BrokerBridge: platform = "topstep_sim" # real platform, sim mode account_type = "practice" # NOT a Combine, NOT an eval async def on_specialist_fire(self, signal: Signal): order = self.route_to_broker(signal) fill = await self.broker.confirm_fill(order.id) # fill price + slippage + commission all from broker return fill # no slippage modeling — it IS the slippage async def live_pl(self) -> Decimal: return await self.broker.get_account_pl() # the number on the dashboard = broker's own P&L endpoint
One voice, system-wide. Reads the full squad state every few seconds. Speaks only when there's something worth saying — specialist approaching trigger, fired, exited, or a macro event hits. TTS + text captions. No Q&A feature. Pure play-by-play.
Two feeds come out the other end. Public stream (YouTube/Kick) runs delayed 20–30s. Subscribers get the real-time feed + Discord sub channels. Same content, different latency. The delay is the paywall.
The #1 reason sim-trading streams lose credibility is that the streamer IS the ledger. We split the ledger out to a third-party broker so the numbers can't be massaged.
Specialist signal logged with timestamp. Order routed to TopStep sim. Fill comes back from broker with broker-timestamp. We display both. The broker's fill time is unassailable.
Session P&L shown on the dashboard comes directly from TopStep's account endpoint. We can't inflate it, trim losses, or round up winners. The number is whatever the broker says it is.
The trade ledger displayed on-stream is the broker's own ledger — every entry, exit, commission, slippage. No internal journal dressed up for viewers. Pure broker truth.
We capture everything internally too — full context, specialist state, General narration, chat — but that archive is for AI training. Public viewers see what the broker sees. Clean split.
Asian session data streams in. Overnighter's FSM reads Asia high + low, previous NY close, overnight range.
Stream goes live. Public viewers see the War Room. Subs click into real-time feed. Discord chat starts flowing.
Opener lights up. Armed for the 9:30–10:00 window. Scans 5-min range. Overnighter still holding his runner.
Every user can submit. The Forge parses, backtests, shows results in the same thread. If it survives experimental paper-trade, it graduates to the War Room as a new named specialist — with the submitter's attribution.
"ChartHustle is a live trading simulation and commentary platform for educational and entertainment purposes. All trades shown are simulated. Nothing on this platform constitutes financial advice, investment recommendations, or an offer to trade. Viewers and subscribers are solely responsible for their own trading decisions. Past simulated performance does not guarantee future results."
Same line every signal service wishes they could say. We actually can — because we don't signal.
No "AI-powered" handwave. No "intelligent system" mystery box. Specialists have FSMs. Sims have slippage. The General has a narration loop. Every signal has a timestamp. Every trade has an audit row.
If it's on this page and it's not live yet, it's labeled BUILDING or PLANNED. We don't ship vapor and call it done.