Skip to content

BacktestingSettings.MonteCarlo

property · BacktestingSettings · cAlgo.API Since 5.10

DesktopCLICloud

Gets or sets the optional Monte Carlo simulation that runs on the completed backtest. When it is null, the default, no Monte Carlo simulation is performed and the backtest behaves exactly as before. When it is set, the simulation runs on the completed backtest and its result is written to the configured output file.

Environment behaviour

CLI — not supported. Available to plugins only, and plugins cannot run in the CLI.

Cloud — not supported. Available to plugins only, and plugins cannot run in the cloud.

Definition

public MonteCarloSettings MonteCarlo {get; set;}
backtestingSettings.MonteCarlo: MonteCarloSettings

Returns MonteCarloSettings

Examples

var backtestingSettings = new BacktestingSettings
{
    StartTimeUtc = new DateTime(2025, 1, 1, 0, 0, 0, DateTimeKind.Utc),
    EndTimeUtc = new DateTime(2025, 6, 1, 0, 0, 0, DateTimeKind.Utc),
    Balance = 10000,
    DataMode = BacktestingDataMode.M1,
    MonteCarlo = new MonteCarloSettings(MonteCarloMethod.BlockBootstrap, @"C:\Temp\montecarlo-result.json")
    {
        Iterations = 5000,
        Seed = 42,
        BlockSize = 10
    }
};

Print($"Monte Carlo output file: {backtestingSettings.MonteCarlo.OutputFilePath}");
from System import DateTime, DateTimeKind
backtestingSettings = BacktestingSettings()
backtestingSettings.StartTimeUtc = DateTime(2025, 1, 1, 0, 0, 0, DateTimeKind.Utc)
backtestingSettings.EndTimeUtc = DateTime(2025, 6, 1, 0, 0, 0, DateTimeKind.Utc)
backtestingSettings.Balance = 10000
backtestingSettings.DataMode = BacktestingDataMode.M1

monteCarlo = MonteCarloSettings(MonteCarloMethod.BlockBootstrap, r"C:\Temp\montecarlo-result.json")
monteCarlo.Iterations = 5000
monteCarlo.Seed = 42
monteCarlo.BlockSize = 10
backtestingSettings.MonteCarlo = monteCarlo

api.Print(f"Monte Carlo output file: {backtestingSettings.MonteCarlo.OutputFilePath}")