> ## Documentation Index
> Fetch the complete documentation index at: https://help.vole.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Backtest

> [!NOTE]
>
> This screen is part of the Vole Bot package.

Run Backtest simulates a strategy against historical price data so you can
see how it would have performed before you ever run it live.

## Strategy

Pick a **Strategy** and, optionally, a specific **Version** — leave the
version on its default and it uses whichever version is currently marked
ACTIVE (see [Versions](https://help.vole.bot/en/strategy-manager/versions.md)). The rest of the page
is there from the start. Only the strategy's own parameter fields further down
stay empty until you pick a strategy, because they're specific to each one.

## Data

* **Source** — where the price history comes from: the app's own database
  (covering crypto, stocks, forex, and commodities), a live pull from Binance
  for crypto, or a live pull from Yahoo Finance for stocks and forex.
* When using the database, a **DB Source** filter narrows the symbol picker to
  one market group (commodities, crypto futures, forex, or one of the listed
  stock indexes) or leaves it open to all of them.
* **Symbol** and **Timeframe**.
* **Period** — either a rolling number of days back from today, or a fixed
  date range.

## Engine & Parameters

A **Heikin-Ashi** toggle switches the candles the strategy sees to
Heikin-Ashi instead of regular candles. Below it, the strategy's own
parameter fields appear — these are defined by the strategy's Pine Script
code, so they differ from strategy to strategy.

## Exit Method

Choose how open trades exit during the simulation:

* **Standard** — a fixed take-profit and stop-loss, each entered as a
  percentage of the entry price in the **Bracket Order** section. The trade
  closes when price reaches either one.
* **Pro Exit** — the **Stop Loss** section, the **Take Profit** section
  and the **Pro Exit Modules** box on this form, or an [Execution
  Policy](https://help.vole.bot/en/execution-rules/execution-policies.md) picked from a dropdown. See
  [Exit Rules](https://help.vole.bot/en/execution-rules/exit-rules.md) for what the stop-loss and
  take-profit choices do. Picking a saved policy makes the backtest simulate
  that policy's exit rules; leaving it on "None" keeps the fields on this form
  in charge, same as before.

The **Bracket Order** section shows only under Standard. With Pro Exit it is
hidden, and the stop-loss and take-profit come from the Pro Exit fields or the
policy instead.

Under Pro Exit, a **Reverse Signal Behavior** setting sits above the **Pro
Exit Modules** box, with the same two choices as on the policy form: **Close
and flip** or **Keep the position**. The backtest follows whichever you pick.
With **Keep the position**, a trade stays open through opposite signals and
ends only through its stop, its take profit or another exit rule. With **Close
and flip**, an opposite signal closes the trade and opens the other side.
Picking a saved policy fills the setting in from the policy and locks it.
Standard has no such setting and always closes and flips. See [Exit
Rules](https://help.vole.bot/en/execution-rules/exit-rules.md).

Every simulated trade is charged a trading cost: an allowance for the spread
you cross on the way in and out, plus a commission. The cost is chosen from the
symbol's market, because a crypto perpetual, a currency pair, a share and a
futures contract do not cost the same to trade. The **Breakdown** panel under
the result names the market it used and the total cost of opening and closing
one position, so a result always states what it assumed.

This matters most when your stop sits close to your entry: there, the cost of
trading is a large share of what a losing trade loses, and a strategy can look
worse than it is if the cost does not fit the market.

Under Pro Exit the backtest applies the modules you tick. **Heikin Ashi
Reversal Close** closes trades, and **Time-based Stop Loss Tightening**
tightens stops, as they do on a live bot. Trailing and Chandelier stops are
tested at the start of each candle, at the level earlier candles set, and only
then moved for the next candle. A candle that opens beyond the stop exits at its
opening price, not at the stop price. Trade times are recorded in UTC; see
[Reading the Results](https://help.vole.bot/en/backtest/reading-the-results.md).

Some rules are not simulated: **Wait Before Entering** and **Skip Spike-and-Fade
Signals**. When your policy turns one on, a notice
above the results, *Some rules in this policy were not simulated*, lists it
and says a live run can differ. A saved run keeps the result it had when it was
calculated; to see a setup under the current rules, run it again.

A backtest simulates your exit rules, and a simulation can differ from live
trading, so read the result as a guide rather than a guarantee.

## Capital & Leverage

Set the initial capital for the simulation, the leverage, and what percentage
of capital each position uses. These only affect the dollar figures in the
result; they don't change which trades the strategy takes.

## Running it

**Run Backtest** requires a symbol — without one, the run is refused rather
than started against nothing. A **Debug Events** checkbox next to the button
adds a detailed per-event log to the run for closer inspection afterwards.

Once it finishes, see [Reading the Results](https://help.vole.bot/en/backtest/reading-the-results.md)
for what the output means. Every run is also saved and shows up on
[History](https://help.vole.bot/en/backtest/history.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.