Skip to main content

Strategy Versioning

VolatiCloud uses immutable strategy versioning — every time you save a strategy, a new version is created. Old versions are preserved forever.

Strategy detail page showing the compact Versions panel on the left with the latest version chip, alongside the strategy chart and backtest/hyperopt/bots tab section

Why Immutable Versions?

Immutable versioning provides four critical guarantees:

  1. Backtest integrity — A backtest result always reflects the exact strategy code that was tested
  2. Bot stability — A running bot is never affected by strategy edits
  3. Auditability — You can always trace which version produced which results
  4. Safe iteration — Freely experiment without fear of breaking existing backtests or bots

How Versioning Works

  • Latest version — The most recently saved version; shown in strategy lists and used when creating new bots
  • Previous versions — Preserved forever; accessible via the version history panel
  • Version number — Automatically incremented on each save (Version 1, 2, 3, ...)

Saving a New Version

Every time you click Save in the Strategy Studio:

  1. The current code/configuration becomes an immutable new version
  2. The version number increments
  3. The new version becomes the "latest"
  4. All existing bots continue running their configured version

Viewing Version History

From the Strategy detail page:

  1. Click Version History in the sidebar panel
  2. See all versions ordered by version number (latest first)
  3. Click a version to preview its configuration/code
  4. View backtest statistics aggregated per version

Expanded Version History drawer showing columns for Version, Bots, Backtests, Profit, Win Rate, Max DD, Trades, and Created, plus the Best / Worst / Latest / Average compare-mode toggle in the header

Backtest Statistics Per Version

For each version, the Version History panel shows aggregated backtest statistics.

MetricDescription
Best ProfitHighest profit % across all backtests of this version
Worst ProfitLowest profit % across all backtests
Latest ProfitMost recent backtest profit %
Average ProfitMean profit % across all backtests
Win RateAverage win rate across backtests
Max DrawdownWorst drawdown across backtests
Trade CountTotal trades across all backtests

This lets you quickly compare versions and identify which performs best.

Strategy Naming

Strategy names are shared across all versions — renaming a strategy renames all versions in the chain.

Bots and Versions

When you create a bot, it's linked to the latest version at creation time. After that:

  • The bot always runs exactly that version
  • New versions do NOT automatically update running bots
  • To use a newer version, create a new bot (or update the bot's configuration)

Strategy Forking

If you want to create a completely independent copy of a strategy (not just a new version), use Strategy Forking.

Forking creates a new strategy with its own separate version chain — useful for:

  • Experimenting with radical changes
  • Sharing a strategy while preserving your original
  • Creating specialized variants for different markets

Best Practices

  1. Name versions meaningfully — Use the save notes to describe what changed
  2. Backtest each version — Always run a backtest after significant changes; see the running backtests guide
  3. Dry run first — Test new versions in paper trading before live deployment
  4. Fork for experiments — Use forking when trying a fundamentally different approach
  5. Don't delete backtests — Keep backtest history to compare versions over time