using Managing.Domain.Bots; using Orleans; namespace Managing.Domain.Backtests; /// /// Lightweight backtest class for Orleans serialization /// Contains only the essential properties needed for backtest results /// [GenerateSerializer] public class LightBacktest { [Id(0)] public string Id { get; set; } = string.Empty; [Id(1)] public TradingBotConfig Config { get; set; } = new(); [Id(2)] public decimal FinalPnl { get; set; } [Id(3)] public int WinRate { get; set; } [Id(4)] public decimal GrowthPercentage { get; set; } [Id(5)] public decimal HodlPercentage { get; set; } [Id(6)] public DateTime StartDate { get; set; } [Id(7)] public DateTime EndDate { get; set; } [Id(8)] public decimal? MaxDrawdown { get; set; } [Id(9)] public decimal Fees { get; set; } [Id(10)] public double? SharpeRatio { get; set; } [Id(11)] public double Score { get; set; } [Id(12)] public string ScoreMessage { get; set; } = string.Empty; }