# Versions

> When a backtest makes a version, how a run's settings make configurations and the trial count, how main starts and moves, and the change note a run can record.

Source: https://orbitalaip.com/docs/backtesting/versions

> [!IMPORTANT] Disclaimer
> Backtest results are hypothetical and do not predict future performance. Nothing here is investment advice: Orbital computes the rules you supplied and recommends nothing. Orbital is not a registered investment adviser or broker-dealer. Costs are as modelled by the chosen cost profile and may differ from live trading.

## What makes a version

A [backtest](https://orbitalaip.com/docs/glossary#backtest) of code that no [version](https://orbitalaip.com/docs/glossary#version) names yet makes a new version, so every run records the code it tested. Saving, restoring and cloning versions in the workflow editor are described in [Versions](https://orbitalaip.com/docs/workflows/runs-and-versions#versions).

## Versions and configurations

A version is the code. A configuration is the version plus the settings a run used: the symbols, the bars, the starting capital, margin, the cost profile, slippage, the fill rule, the benchmark and any declared parameters' values. The period is left out, so one configuration can be tested over several periods and compared. A **Signals** strategy is the exception: its signals are made for one period, so another period is another configuration.

Changing a setting makes a new configuration under the same version and adds one to the strategy's [trial count](https://orbitalaip.com/docs/glossary#trial-count). Running the same configuration over another period adds a run, not a trial. The [deflated Sharpe ratio](https://orbitalaip.com/docs/glossary#deflated-sharpe-ratio) sizes its hurdle by the trial count. From two configurations on, the version line in **Run properties** ends with a sentence such as **12 configurations were tried to reach this one**. See [Run properties](https://orbitalaip.com/docs/backtesting/reading-results#run-properties).

## Main

For a Rules or Program strategy, [main](https://orbitalaip.com/docs/glossary#main) starts at the first version whose backtest, run by a person, completes. Main also waits when an enabled schedule, webhook or signal cannot run that version; after a backtest nothing on screen says why, and **Make main** then names the automation.

After that, main moves only by **Make main**:

1. **Open the version's run**
   
   Pick the version in the menu on the settings line, or open one of its runs from the **Runs** tab. A version with no completed run cannot be picked.

2. **Click Make main under More actions**
   
   It appears when the run on screen is not main's and you can edit the workflow.

**Make main** refuses a version with no completed backtest: **Backtest v4 first.** See [Main](https://orbitalaip.com/docs/workflows/runs-and-versions#main).

An agent moves main only under its **Make main** permission, and its request is refused until a workspace owner or admin sets it; see [Make main](https://orbitalaip.com/docs/agents/permissions-and-approvals#make-main).

A running [deployment](https://orbitalaip.com/docs/glossary#deployment) keeps the version it was deployed with and never follows main; see [Editing a strategy after it is deployed](https://orbitalaip.com/docs/trade/deploy-a-strategy#editing-a-strategy-after-it-is-deployed).

## Change notes on runs

The line above **Run backtest** in the Run dialog says where the run lands: **Run #2 of v1**, **Creates v1**, or **Creates v2 from v1**. While the estimate runs it reads **Checking which version this is…**. When there is a choice, the line is a menu of every version, plus **Edited** while the canvas holds changes no version has. It opens on **Edited** in that case, otherwise on the version of the run you launched from, or else on the version the canvas holds.

When the run creates a version, **What changed?** takes an optional note of up to 200 characters, recorded on the new version. A run of an existing version leaves that version's note as it was. The editor's **Save version** dialog asks the same question.

Notes appear in the version menu on the settings line, the **Versions** card, the editor's **Versions** list, and Trade's **Versions** card and deploy review. **Run properties** prints the lineage with the note, such as **v3 · from v2 (widened the vertical barrier)**.

## Versions on the Runs tab

The **Runs** tab's **Versions** card lists the versions with their **Main** mark, notes and best runs, and a click on one narrows the runs table to it; see [The Runs view](https://orbitalaip.com/docs/backtesting/reading-results#the-runs-view).
