using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace FinlyticSimulation.Database.Entities; [Table("simulation_strategy_matrix")] public class SimulationStrategyMatrixEntity { [Required] [MaxLength(20)] public string Isin { get; set; } = string.Empty; [Required] [MaxLength(50)] public string StrategyKey { get; set; } = string.Empty; [Required] [MaxLength(10)] public string Timeframe { get; set; } = "15m"; public int SampleTradesCount { get; set; } [Column(TypeName = "decimal(6,2)")] public decimal WinRatePercent { get; set; } [Column(TypeName = "decimal(8,4)")] public decimal ProfitFactor { get; set; } [Column(TypeName = "decimal(6,2)")] public decimal MaxDrawdownPercent { get; set; } [Column(TypeName = "decimal(5,2)")] public decimal ReliabilityScore { get; set; } // 0 - 100 public bool IsApproved { get; set; } = true; [MaxLength(30)] public string RecommendedAction { get; set; } = "NEUTRAL"; // "BOOST_SCORE", "NEUTRAL", "VETO_DISABLE" public Guid? LastBacktestRunId { get; set; } public DateTime UpdatedAtUtc { get; set; } = DateTime.UtcNow; }