Skip to content

Backtest

Run your first backtest and interpret the results

With your algorithm created, it’s time to see how it would have performed on historical data.

  1. Configure a Backtest

    With your algorithm selected, open the backtest panel:

    • Symbol: BTC/USDC
    • Start Date: 6 months ago
    • End Date: Today
    • Starting Capital: $1,000 (or whatever notional you want to simulate)
    • Leverage: starts at 1x — increase if your live deployment will use higher leverage
  2. Run the Backtest

    Click Run Backtest. The engine simulates your strategy against 6 months of historical BTC data using the exact same logic that would run live. Wait for it to complete.

  3. Read Your Results

    The results panel shows everything you need:

    Key metrics — Check these first:

    MetricWhat It Tells YouGood Range
    Win Rate% of trades that were profitable> 40% (depends on R:R)
    Profit FactorGross profit / gross loss> 1.5
    Sharpe RatioRisk-adjusted return (annualized)> 1.0
    Sortino RatioLike Sharpe but only penalizes downside> 1.5
    Max DrawdownLargest peak-to-trough decline< 20%

    Equity curve — This is the visual story of your strategy. A steadily rising curve is what you want. Sharp drops are drawdowns.

    Indicator usefulness — Each indicator gets a score (0-100) showing how much it contributes. Low scores mean the indicator might be redundant.

  4. Interpret What You See

    Ask yourself:

    • Sharpe > 1.0? The strategy has risk-adjusted edge.
    • Max drawdown < 20%? The risk is manageable.
    • Win rate + profit factor make sense together? A 35% win rate with 3:1 R:R is fine.
    • Equity curve smooth? Or does all profit come from 2-3 lucky trades?

    If the numbers don’t look great — that’s normal for a first attempt! The next step is to iterate: adjust thresholds, try different indicators, or test on a different timeframe.

  5. Switch to Optimize Mode

    Happy with your strategy logic but not sure about the exact parameter values? Instead of manually tweaking and re-running, let the optimizer find better settings for you.

    At the top of the Test Workspace, switch from Backtest to Optimize. The panel changes to show optimization configuration.

  6. Configure Your Optimization

    Set up three things:

    1. Optimization Goal — What should the optimizer maximize?

    GoalBest For
    Balanced (Sharpe)General-purpose — good risk-adjusted returns (default)
    Max SharpeMaximizing risk-adjusted performance
    Min DrawdownConservative strategies — minimize worst-case loss
    Max PnLAggressive strategies — maximize raw profit

    2. Search Ranges — Which parameters should the optimizer vary, and within what bounds?

    The optimizer comes pre-loaded with sensible defaults:

    ParameterRangeStep
    RSI Threshold20–401
    Stop Loss %0.5–3.00.1
    Take Profit %0.5–5.00.1

    Use the range sliders to adjust bounds, or click + Add to include more parameters. Each parameter needs a name, a path to the algorithm setting it controls, and a range.

    3. Validation Settings — How should the optimizer split historical data?

    SettingWhat It DoesExample
    Train DaysWindow used to test each parameter set90
    Test DaysOut-of-sample window to validate20
    Step DaysHow far the window slides forward between folds20

    4. Trials — How many parameter combinations to try (default: 10, minimum: 5).

  7. Run the Optimization

    Click Run Optimize. The optimizer uses Bayesian search (Optuna TPE) to intelligently explore parameter combinations — each trial informs the next, so it converges faster than random search.

    Watch the progress bar as trials complete. You’ll see:

    • Trial count — how many have run out of the total
    • Best score — the highest score found so far
    • Top 5 leaderboard — the best parameter combinations ranked by score, with test PnL for each

    If you see the score plateau early, hit Stop Search — results from completed trials are preserved.

  8. Read Your Optimization Results

    When the optimizer finishes, review the results:

    • Best parameters — the parameter values that scored highest
    • Leaderboard — top 5 trials with their scores and test PnL
    • Fold detail — performance breakdown per cross-validation fold (switch to the Folds tab)

    Take the best parameters, update your algorithm, and run a fresh backtest to confirm. If the results hold up — you’re ready to deploy.


Want to…Go to
Deploy your algorithm liveDeploy Walkthrough →
Learn all backtest metrics in depthBacktest Features →
Understand optimization and cross-validationBacktest Features → Optimization