Using Visor · intermediate · 6 min
Backtesting in Visor
A backtest replays a trading rule over historical data to see how it would have behaved. Visor's backtester is deliberately honest about the mechanics — and, more importantly, about what a backtest can and can't tell you.

Building a strategy
In the Strategy Editor you define a rule with two parts:
- an entry — for example, an SMA crossover (
fast/slow), an RSI-oversold trigger, or a scripted expression; - an exit — the opposite cross, a fixed target/stop, or a scripted expression.
Pick a symbol and a range (6 months, 1 year, or 5 years of daily bars), save it, and press Run.
How the fills work
The engine is careful about when trades happen, because sloppy assumptions here are the classic way a backtest lies to you:
- A signal that completes at a bar's close is filled at the next bar's open — never at a price that didn't exist yet. No peeking into the future.
- A target or stop that a bar gaps through fills at the open, not at the order price — so gap losses are counted in full and gap gains aren't overstated.
- Equity is marked at each close against prices that were actually available at that close.
These sound like details. They are the difference between a realistic result and a fantasy one.
Reading the run card
A completed run shows the headline stats — total return, buy-and-hold return for the same window, number of trades, win rate, profit factor, maximum drawdown, and exposure — over an equity curve. Two of these deserve special attention:
- Buy-and-hold sits right next to your strategy's return for a reason: beating zero is easy in a rising market; beating simply holding is the honest bar.
- Number of trades tells you how much you can trust everything else. A great-looking return on three trades is barely evidence at all.
Every run also carries a run card recording the exact data vintage and engine version behind it, so a result is reproducible and you always know what it was computed on.
The part that matters most
A good-looking backtest is the easiest thing in the world to produce, and the least meaningful. That is why every run in Visor is scored by a robustness engine — a set of gates that ask whether the result would survive scrutiny, not just whether it looks good. The next lesson is entirely about reading that verdict, and it is the most important thing in this track.
What to read next
- How to Read a Robustness Report — the four gates, explained.