Output Panel
The Output Panel sits at the bottom of the QuantCraft workspace and is where everything your code says or draws shows up — print() statements, error messages, plots, and progress for long-running backtests.
It is shared between Run and Test: every execution clears it and writes fresh output as the run progresses. Structured metrics and charts appear in Test results.
Opening, collapsing, and resizing
- The panel auto-opens as soon as anything new is logged or plotted, so you don’t miss output.
- Click the Output title (or the arrow next to it) to collapse or expand the panel.
- The horizontal divider above the panel can be dragged up or down to give it more or less screen space. You can also focus the divider and use the Up / Down arrow keys to nudge it.
- The Output Panel’s height (and the editor split) is remembered between sessions.
Logs (stdout and run messages)
Anything your script writes to standard output appears as a time-stamped log line in the panel:
[14:32:11] Loaded 480 bars
[14:32:11] Entering position at 192.40
[14:32:13] Final equity: 102450.13Useful to know:
- Each entry is time-stamped with your local clock.
- Log text uses a monospace font and wraps so long lines remain readable without horizontal scrolling.
- The panel auto-scrolls to the latest message as new output arrives, both during a run and right after the run finishes.
- A short
(no output)placeholder is shown if your script finished with nothing to print.
There’s a per-tab cap of about 200 entries; older lines are dropped when the cap is reached. For runs that produce huge amounts of output, prefer summarizing in code or printing every Nth bar.
Errors (stderr)
Anything written to standard error — exception tracebacks, warnings your code routes through stderr, or framework messages — is highlighted in red and counted in the panel header:
- A small
N error / N errorsbadge appears next to the Output title showing how many error lines were logged. - Errors keep their time stamp like normal log lines, so you can match them to the events around them.
- If a run exits with a non‑zero exit code but didn’t print to stderr itself, you’ll see a single
(exit code N)error line so you know the run failed.
The error count is a live counter — clearing the output (which happens at the start of every Run / Test) resets it, and if the new run installs a package or recovers from a previous failure, the count is removed.
Plots
The Output Panel renders inline figures from your code so you don’t need an external viewer.
Matplotlib
Any Matplotlib figure your code displays during the run shows up as a PNG image sized to the panel width. They’re great for quick exploratory charts.
Plotly
Plotly figures are rendered as fully interactive charts inside the panel:
- Hover a series to see exact values.
- Zoom and pan with mouse / touch.
- Use the Plotly toolbar for download, autoscale, and other actions.
- The chart resizes with the panel.
Each plot — Matplotlib or Plotly — appears in its own framed block in the panel timeline alongside log lines, so you can see exactly where it was produced relative to your print() output.
Plots and logs share the same per-tab cap, so very long sequences of figures will eventually push earlier output out of view.
Long-run progress
When a backtest is running, the panel header gets two extra elements so you can keep an eye on progress without staring at scrolling logs:
- A progress bar with a label like:
Bar 1234 / 5000— how many simulated bars are processed.Run 3 / 10— for an in-flight optimization, the run currently executing out of the total.Gen 2/5 · 7/16— for genetic optimization, current generation/individual.Backtest runningwhile the engine has started but no exact progress is available yet.
- The bar grows as the engine reports progress and disappears as soon as the run ends.
You can collapse the panel and the progress bar stays visible in the header, so the run’s state is always one glance away — even if you’re focused on the editor.
Disclaimer button
The header has a Disclaimer button that opens a short notice about how QuantCraft executes Python on your machine. It’s the same explanation you see before your first Run, just available any time you want to re-read it. Closing this dialog does not change your settings.
Tips
print()is your friend for quick debugging. Keep messages short and tag them (f"[ENTRY] {symbol} {qty} @ {price}") so they’re easy to scan.- Send long detail to a file in your code rather than printing thousands of lines — only the last ~200 entries stay visible.
- Errors are red and counted in the badge — when you see the count tick up, scroll to the bottom; the latest error is usually what stopped the run.
- For Plotly, use the panel’s resize divider to give the chart more height; it scales automatically.
- The panel is shared between files: if you switch tabs mid-run, the output you see is for the last/active execution.