Skip to main content
Horizon includes a real-time TUI (Terminal User Interface) dashboard built with Textual. It displays P&L, positions, orders, risk status, fills, and feeds in a 2x3 grid layout.

Enable the Dashboard

Or from the CLI:

Panels

The dashboard displays 7 panels in a 2x4 grid:

Keybindings

How It Works

The dashboard runs the strategy loop inside the Textual app’s timer:
  1. A set_interval(interval) timer fires each cycle
  2. Each tick: poll fills → update P&L → run pipeline → process results → update panels
  3. Positions are snapshotted to the database every 50 ticks
  4. All 6 panels are refreshed after each tick
The dashboard uses the same _build_context(), _run_pipeline(), and _process_result() functions as the console mode. Same strategy logic, different display.
The dashboard requires textual>=0.40. If not installed, Horizon falls back to console mode with a warning message.

Dashboard vs Console Mode