Skip to content

Backtesting a strategy

How to backtest a saved strategy in Wildflower over dates you choose, and how to read the result knowing what the test assumed about fills and costs.

Updated 12 October 2026 · 4 minute read

A backtest runs one saved version of your strategy over a stretch of past market prices. It reports what the strategy would have done.

Backtests in Strategies run on our servers, so they need the Backtest or Bot plan.

How to run one

  1. Open the strategy from the Library tab of Strategies and go to its backtests.
  2. Choose the version and the dates.
  3. Start the run. It waits in a queue, so you can leave the page.

How recent the dates can be

Market prices take about a day to settle. So a run ends at the last full day that has settled. A later end date is pulled back to that day, and the result says which dates it covered. If every day you picked is still settling, the screen says so and names the newest day it can measure.

What the run reads

A backtest runs on Wildflower's own price history, which is always at least 24 hours old. The prices your strategy sees while it trades stay on your computer and never reach us, so a backtest does not use them.

Under the date picker, you see how far that history reaches for the instrument you are testing, in whole months. The dates offered stop at the last whole month, so a run never asks for more history than there is.

The same run twice is one run

A run is known by three things: its settings, its dates, and its engine version (the version of Wildflower that ran it). Ask for the same three again and you get the run you already have, not a second one.

That is why the dates are fixed before the run starts. Otherwise two runs started hours apart on the same day could look the same but cover different amounts of market data.

Every figure is restated at $100 of risk

A backtest's raw profit and loss depends on how much each trade risked. The same rules at two different risk sizes make very different numbers, from the same decisions.

So every figure you compare is restated as if each trade risked $100. It is worked out trade by trade, because the dollars at risk can change from one trade to the next.

Three things about that restatement:

  • It is before fees. Fees are shown next to it, not scaled, because a commission does not shrink when you trade smaller.
  • A trade with no usable risk figure is left out and counted, never quietly treated as zero.
  • Day counts and drawdown (the biggest drop from a high point) are worked out again from the restated trades. A day here is the futures trading day, 5pm to 4pm Chicago time.

What the run cost

The result shows the fees for the whole run, in dollars and per contract round turn (one buy and one sell). Fees come from your own broker fills where there are any, and from the published rate for the contract where there are not.

It also shows what the stop exits cost, on a separate line. A stop becomes a market order when it is hit, so it can fill a little worse than its price. Each stop exit is charged an average amount for that instrument. Where that amount is an estimate, the result says so beside the figure. The run's own result is shown before fees and after them, at the risk it really used.

Results from different engine versions are never mixed

Every result shows the engine version that produced it. Results from different versions sit under separate headings, never in one table, because one table always reads as a comparison.

What can go wrong

Two strategies built in different ways can end up with the same settings underneath. Each run also records exactly how its strategy was built, so one strategy is never shown the other's saved result.

What's next

What the fill assumptions on every result mean.

Did this answer your question?

NextFill assumptions on a backtest result

Still stuck? Ask Wildflower.