// TRADERVIEW — WALKTHROUGH

Tutorial index Docs hub
Progress
17 / 18

17.Dashboards & watchlists

User-defined widget dashboards as your morning landing page, watchlists with per-symbol context menus, screener / scanner presets bookmarked, and the 16-symbol world-markets snapshot grid that runs on a 60 s cache.

The default Dashboard

The Dashboard tile (Cmd+Opt+D) renders a fixed default layout if you haven't created a custom one:

  • Equity curve — your account equity over the selected date range.
  • Top stats strip — YTD P&L, MTD P&L, win rate, expectancy, profit factor.
  • R-distribution mini-chart — current account, configurable lookback.
  • Open positions list — live mark-to-market.
  • World markets grid — 16 symbols across regions, on a 60 s cache.
  • Today's catalysts — last 10 from the catalyst radar (step 07).
  • Recent halts — last 5 from the halt feed.

The default is sized to look right on a 1080p monitor and reflow to a single column on phone-narrow widths (mostly relevant in web mode).

Custom dashboards

GET/POST /api/dashboards. Build your own from the widget palette. A dashboard is a 12-column grid; widgets place at (col, row, w, h). Available widgets:

  • Equity curve — account / date range parameter.
  • Stat tile — pick a stat from a long enum (win rate, expectancy, max drawdown, current streak, days-since-loss, etc.).
  • Watchlist — references a watchlist ID; renders live quotes + sparklines.
  • Scanner / Screener — references a saved screener / scanner preset; renders top N results.
  • Symbol chart — uPlot mini-chart, configurable timeframe + overlays.
  • Custom indicator value — current value of a referenced custom indicator, as a number / gauge / spark.
  • News / catalyst feed — filtered by symbol / source.
  • Heatmap — sector / S&P / watchlist.
  • HTML note — a markdown-rendered text widget. Pin your daily checklist here.

Multiple dashboards per user; the sidebar lists them. Each dashboard has a slug; bookmark the dashboard URL for one-click access.

Watchlists

  • Per-account, per-user. Watchlists live in watchlists + watchlist_symbols. Each symbol row has an optional note (your thesis on the name) and a tag set.
  • Live quotes. The watchlist view subscribes to WS /ws/ticks for its symbols; price / change / volume update live.
  • Sparkline — last 5d intraday or last 30d daily, configurable.
  • Per-symbol ctxmenu — the standard 6-way Charts / Options / Research / Earnings / News / Copy menu, plus watchlist-specific actions (Remove, Add note, Tag).
  • Bulk add — paste a comma-separated list of tickers; unknown tickers are flagged.

Screener & scanner presets as bookmarks

Screener (step 08) and scanner (step 09) outputs are URL-addressable with the filter set + preset name in the query string. Save a preset → it shows up in the launcher tile filter AND becomes a candidate for dashboard widgets. Saved screeners + scanners are first-class watchlists in everything but name.

World markets snapshot

GET /api/markets/snapshot. 16 symbols across regions:

S&P 500 / NASDAQ / Russell 2000 / Dow Jones /
DAX / FTSE 100 / CAC 40 / Euro Stoxx 50 /
Nikkei 225 / Hang Seng / Shanghai Comp / KOSPI /
ASX 200 / TSX / Bovespa / Sensex

The snapshot route fans out to Yahoo v8 with futures_util::future::join_all — real concurrency, not serial. Caches in-process for 60 s so the dashboard widget doesn't re-fan-out on every browser refresh.

Pre-market variant (GET /api/premarket/snapshot) replaces the world-equity grid with futures + commodities + crypto + FX + econ events (step 06).

Live Positions tile

The Live Positions tile is the live version of the Trades view filtered to status = 'open'. Real-time unrealized P&L via WS /ws/ticks. Per-row ctxmenu adds:

  • Set stop / target — writes to trade.planned_stop / trade.planned_target. Used by the alert engine to ping you when the level is touched.
  • Move to breakeven — sets stop to entry-avg.
  • Open chart with markers — same as Trades view.