Dashboard tour¶
The dashboard is your one-window view into what the bot is doing. This page walks through every part of the screen so you know what each readout means.
It assumes you've already finished the first-run
wizard and have the dashboard open at
http://localhost:8080.
Layout at a glance¶
The dashboard has three persistent regions:
- Sidebar on the left — navigation between pages, signal indicator, About button
- Top bar across the top — current page, bot state, market data status, session clock, price ticker, Start / Flatten buttons
- Content area in the middle — changes depending on which page you're on
Underneath the top bar there's a ticker strip — a horizontal event tape that scrolls live bot events (FVG detected, order placed, fill, exit) so you can see activity at a glance without reading the log file.
Sidebar nav¶
Five pages, plus a fold-out for status:
| # | Page | What it's for |
|---|---|---|
| 01 | Dashboard | Live position, today's stats, FVGs, today's trades |
| 02 | Trades | Full trade history table + equity curve |
| 03 | Backtester | (Pro) Strategy backtesting against historical data |
| 04 | Config | The 12-section config form |
| 05 | Settings | Connection, license, app preferences, diagnostics |
The Backtester item shows a PRO pill on Basic licenses. Click it on Basic and the page surfaces an upgrade prompt; the backtester itself only runs for Pro.
At the bottom of the sidebar:
- Signal indicator — a small dot + text showing the WebSocket connection status between your browser and the bot. "Connected" means live updates are flowing. "Connecting" / "Disconnected" means the dashboard isn't getting real-time events; the bot itself may still be running fine.
- About button — opens a modal with version info, license tier, update checks, and links to the docs.
Above the nav, a Check for updates button pings the cloud for a newer release.
Top bar — left side¶
The leftmost group, from left to right:
Page tag and title¶
The two-digit index (e.g. 01) and name (Dashboard) of the page
you're currently on. Updates as you navigate.
Bot state badge¶
A small colored pill showing the bot's current state.
| Badge | Meaning |
|---|---|
| STOPPED | Bot is not running. No orders will be placed. |
| SCANNING | Bot is running, watching for an FVG to form. |
| PENDING | A limit order is resting at the broker, waiting to fill. |
| IN POSITION | Position is open at the broker. SL and TP are working orders. |
| TP TOUCHED | Brief transitional state when the take-profit just filled. |
| NEXT TRADE | A trade just completed; bot is about to look for the next FVG. |
| DAY DONE | All trades done for the day. Bot is idle until the next session. |
Data status pill¶
Next to the state badge. Shows whether the bot is receiving live or delayed market data from IBKR.
| Pill | Meaning |
|---|---|
| DATA · — | Status unknown (just connected; updating) |
| DATA · LIVE | Real-time quotes are flowing |
| DATA · FROZEN | Quotes have stopped updating; data feed may be down |
| DATA · DELAYED | The bot is receiving 15-20 minute delayed quotes — this is dangerous |
A DELAYED state usually means your IBKR market data subscription isn't active or hasn't propagated yet. See Market data subscription — without a paid live feed the bot will trade on stale prices and make wrong decisions.
Live trading pill¶
Only shown when the bot is configured for a live IBKR port (4001
or 7496). A persistent warn-color pill that reads ● LIVE TRADING
and stays visible the entire session. Hidden on paper.
It's there so you can never glance at the dashboard without seeing that real-money mode is active.
Top bar — center¶
The middle group:
- Session indicator —
US Futureslabel with a colored dot that reflects the current session state (regular hours, extended hours, closed) - Session clock — live HH:MM:SS in Eastern Time. This is what the bot's schedule fields use; if it's 9:30 here, the detection window has opened.
Top bar — right side¶
The rightmost group:
- Price readout — Bid, Last, Ask for the configured symbol. Updates in real time when data is LIVE.
- Start / Stop button — starts or stops the trading engine. Reads "Start" when stopped, "Stop" when running.
- Flatten All button — emergency exit. Cancels all working orders (entry, SL, TP) and market-closes any open position. Available whenever there's something to flatten.
Flatten All is not a pause
Flattening exits everything and transitions the bot to DAY DONE — it won't take new trades for the rest of the day. If you just want to stop the bot from arming new orders but keep the current position open, use Stop instead, and manage the open position manually in your broker UI.
Dashboard page (page 01)¶
The default landing page. Five cards in two rows.
Pending Entry card (top, conditional)¶
Only shows when a limit order is resting at the broker. Displays:
- Resting at — the price the order is sitting at
- Side info (long/short, contract count, FVG number)
Disappears the moment the order fills (transitioning the state badge to IN POSITION) or cancels.
Chart card (top-left)¶
A candlestick chart of the configured symbol, drawn from the bot's own data feed. Shows:
- Live candles at the configured timeframe (1m by default)
- Detected FVG zones overlaid as colored bands
- Your entry, stop loss, and take profit as horizontal lines while in position
- The current bid/ask spread
The chart-symbol and timeframe meta in the card header reflect your config. A Reset button restores the default zoom.
Position card (top-right)¶
A live position ticket. When you're flat:
FLAT · No Active Position
When you're in a trade:
- Direction — LONG or SHORT
- Detail — contracts, symbol, optionally entry method
- Unrealized P&L — in points, color-coded (green up, red down, faint when zero)
- Three level boxes — Stop Loss, Average Entry, Take Profit with their actual prices
For a pyramid trade, "Average Entry" is the volume-weighted average across all fills; the SL and TP shown are the working levels at the broker (TP frozen at first-entry value, SL recomputed per the add-on SL mode).
Today card (top-right)¶
A compact 3-cell readout for the current session:
- Wins — closed trades that ended green today
- Losses — closed trades that ended red today
- Net P&L — points net (the actual reported value, not a dollar conversion)
Resets every trading day at the start of the detection window.
FVGs Detected card (top-right)¶
A live list of the FVGs the bot has identified today. Each entry shows:
- The FVG number (1, 2, 3...)
- Direction (bullish / bearish)
- The price range it spans
- Status (waiting, filled, expired, invalidated)
The header meta shows N active — the count of currently-tradable
FVGs (waiting or in-flight). Already-completed or invalidated FVGs
remain visible in the list as history.
Trades Today card (full-width bottom)¶
A dense table of every trade the bot has executed today, with columns for symbol, direction, entry, exit, P&L, and which exit mechanism closed it (TP, SL, BE, trail, EOD, manual flatten).
Empty when no trades have triggered yet.
Trades page (page 02)¶
The full history view. Three cards stacked:
- Performance — aggregate stats across all of your saved history (total trades, win rate, net P&L, average win, average loss)
- Equity Curve — running cumulative P&L line. The symbol selector lets you filter to one preset's results (Standard / Max) or All Symbols.
- Trade History — table of every recorded trade since the bot was first run on this machine, with date, time, symbol, direction, entry, exit, exit type, entries (pyramid count), and per-trade P&L
For more on the published cloud-hosted equity curve, see the strategy section once it's live — the in-app Equity Curve is your account's history, not the published track record.
Backtester page (page 03)¶
Pro-only. Lets you run the bot's strategy against historical price data without placing orders, so you can sweep parameter variants and see how they would have performed.
Detailed walkthrough lives in its own page — coming with the next docs release.
Config page (page 04)¶
The 12-section configuration form. Covered in detail in:
A banner at the top reminds Basic licenses which sections are locked.
Settings page (page 05)¶
App-level settings — separate from the per-strategy config. Sections:
Connection
- IBKR Gateway host / port / client ID (with a
PAPERorLIVEtag next to it based on the port) - Save & Reconnect — applies the connection change live when the bot is idle
- Test connection — verifies Gateway is reachable without starting the bot
- Dashboard port — relaunch required (the dashboard can't hot-swap its own port)
Operator Console
- License — current activation status with an Activate / Deactivate flow
- Auto-start on launch — toggle for whether the bot arms automatically when the app starts (signs a separate acknowledgment when combined with a live port)
- Default chart view — which equity curve to show by default on the Trades page (Standard / Max / All / Last used)
- Setup wizard — re-run the first-run wizard
- Version — current build with a Check for updates button
Diagnostics
- Log level — verbosity of
multi_entry_bot.log(DEBUG / INFO / WARNING / ERROR) - Heartbeat URL — optional uptime ping (60s cadence) to a service like Healthchecks.io
The ticker strip¶
The horizontal scrolling event tape below the top bar. Every significant bot event drops in as a chip — color-coded by category:
- Info (cyan-ish) — FVG detected, bot started, day reset
- Trade (amber) — order placed, fill, position opened
- Warn (orange) — IBKR disconnect, ATR fallback, validation failure
- Error (red) — order rejection, crash, license invalid
Events scroll horizontally so the tape only shows the most recent handful at any one time. Older events are written to the log file for the full record.
Toasts and modals¶
The dashboard surfaces two transient overlays:
- Toasts — small pop-up messages bottom-right of the screen for confirmations ("Settings saved") and recoverable warnings. Auto-dismiss after a few seconds.
- Modals — full-screen overlays that block the dashboard until dismissed. Used for legal acknowledgments (LTA, auto-start), upgrade prompts, and the setup wizard.
Where to go next¶
- Your first trading day — what to expect when you actually click Start
- Configuration overview — start customizing what the bot does
- Troubleshooting — if something on the dashboard isn't behaving as described here