Add scoreMessage

This commit is contained in:
2025-07-17 21:07:10 +07:00
parent d40ee7a86e
commit 7de18673f9
9 changed files with 54 additions and 24 deletions

View File

@@ -54,22 +54,23 @@ public class BacktestScoringResult
public string GenerateSummaryMessage()
{
if (Score == 0)
{
var earlyExit = Checks.FirstOrDefault(c => c.IsEarlyExit);
if (earlyExit != null)
{
return $"Score: 0 - {earlyExit.Message}";
}
}
var passedChecks = Checks.Where(c => c.Passed && !c.IsEarlyExit && !c.IsPenalty).ToList();
var failedChecks = Checks.Where(c => !c.Passed && !c.IsEarlyExit && !c.IsPenalty).ToList();
var penalties = Checks.Where(c => c.IsPenalty).ToList();
var earlyExits = Checks.Where(c => c.IsEarlyExit).ToList();
var summary = new StringBuilder();
summary.AppendLine($"Final Score: {Score:F1}/100");
if (earlyExits.Any())
{
summary.AppendLine($"🚫 Early Exit Reasons ({earlyExits.Count}):");
foreach (var earlyExit in earlyExits)
{
summary.AppendLine($" • {earlyExit.Component}: {earlyExit.Message}");
}
}
if (passedChecks.Any())
{
summary.AppendLine($"✅ Passed Checks ({passedChecks.Count}):");