Bot Backtests¶
Backtesting Limitations
Backtesting results assume perfect execution and zero slippage, which are unrealistic in live markets. Results may not account for all trading costs, fees, or market impact. Historical backtesting data does not represent expected future performance. Users should not rely solely on backtesting when making trading decisions.
The Bot Backtests page answers one question: how has this bot's strategy performed in testing?
It shows the backtests that are running right now and the ones that have finished, filtered to a single bot, and lets you start a new run without leaving the page.
Bot Backtests or Backtest History?
The two pages list the same backtests and differ in scope. Bot Backtests is filtered to one bot at a time and can start a new run for it. Backtest History shows every backtest in your account, from every source, with no filter. Use this page while you are working on a bot; use Backtest History when you want to compare across strategies.
Choosing a bot¶
Pick a bot from the Select Bot dropdown at the top. The list holds all of your bots, sorted by name and searchable, each with its exchange icon.
Choosing a bot filters both tables below to backtests of that bot's script. Clear Selection appears once a bot is chosen and removes the filter again.
Filtered by script, not by bot
A backtest belongs to the script a bot runs, not to the bot itself. If several bots share one script, selecting any of them shows the same backtests, and the Bot column lists every bot using that script.
If you have no bots yet, the page says so and offers a shortcut to create your first one — you need a bot before you can backtest from here.
Running a new backtest¶
Run New Backtest stays disabled until you have selected a bot. Where it takes you depends on the bot's script:
- If the script is one you can edit, it opens the Web Editor for that script with the backtest panel already open.
- If it is not editable, it opens that bot's own Backtest tab.
Either way, you choose the historical period and settings there, not on this page.
Active backtests¶
This section appears only while something is running. Each row is one backtest in progress.
| Column | What it shows |
|---|---|
| Script | The HaasScript being tested. |
| Status | Executing backtest, or the current step while price history or the script is still loading. |
| Started at | When the run began. |
| Time remaining | An estimate based on progress so far, or - if it cannot be estimated yet. |
| Progress | Percentage complete, or - before execution starts. |
The list updates live and refreshes on its own about once a minute.
To stop a run, use the cancel icon on its row and confirm. Cancelling discards the run — there are no partial results.
Backtest history¶
Completed backtests appear here, newest first.
| Column | What it shows |
|---|---|
| Timestamp | When the backtest ran. Rows are sorted by this by default. |
| Bot | The bots using the tested script, or - if none. This column is unique to this page. |
| Script | The HaasScript that was tested. |
| Market | The exchange account and market the test ran on. |
| Period | The historical window tested, start and end. |
| Length | How long that window is, for example 30 days. |
| Realized profit | Profit the strategy would have made over the period, colored green or red. |
| Roi | Return on investment for the run, as a percentage. |
| Tag | Your own label for the run, or -. |
| Options | Row actions, described below. |
Select a row to open that backtest's full results.
Use the search box to filter by script name or tag, and select the Timestamp, Bot, Script, Market, Period, Length or Tag headings to sort.
The page loads your 500 most recent backtests.
Row actions¶
| Action | What it does |
|---|---|
| Preserve backtest results | Archives the run so it is kept. The same icon then offers Discard backtest results to undo it. |
| Create bot from backtest settings | Builds a new bot from the settings that produced this result — the quickest path from a promising test to a live bot. |
| Edit custom backtest tag | Sets or changes your own label for the run, which is also searchable. |
| Delete backtest result | Removes the run permanently. |
To clear out several at once, tick the checkbox on each row — or use Toggle all to select everything currently listed — and then use the delete button that appears.
Warning
Deleting is permanent, and Toggle all selects every row matching the current filter and search, not only the rows in view. Check what is selected before confirming.