From 82f8057ed15fc367cf4dba5d934cac75506d76c7 Mon Sep 17 00:00:00 2001 From: cryptooda Date: Fri, 10 Oct 2025 17:37:32 +0700 Subject: [PATCH] Fix loss and win count for GetUserStrategy --- src/Managing.Api/Controllers/DataController.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Managing.Api/Controllers/DataController.cs b/src/Managing.Api/Controllers/DataController.cs index cec89f33..6c9eb701 100644 --- a/src/Managing.Api/Controllers/DataController.cs +++ b/src/Managing.Api/Controllers/DataController.cs @@ -498,9 +498,10 @@ public class DataController : ControllerBase _cacheService.SaveValue(cacheKey, positions, TimeSpan.FromMinutes(2)); } + var positionsForMetrics = positions.Where(p => p.IsValidForMetrics()); // Calculate win/loss statistics from actual positions (including open positions) - int wins = positions.Count(p => p.ProfitAndLoss != null && p.ProfitAndLoss.Realized > 0); - int losses = positions.Count(p => p.ProfitAndLoss != null && p.ProfitAndLoss.Realized <= 0); + int wins = positionsForMetrics.Count(p => p.ProfitAndLoss != null && p.ProfitAndLoss.Realized > 0); + int losses = positionsForMetrics.Count(p => p.ProfitAndLoss != null && p.ProfitAndLoss.Realized <= 0); int winRate = wins + losses > 0 ? (wins * 100) / (wins + losses) : 0;