Skip to content

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.

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 indicatorUS Futures label 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 PAPER or LIVE tag 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