Re-update internal balance before opening position

This commit is contained in:
2025-10-27 10:25:45 +07:00
parent f816b8de50
commit abd5eb675c
2 changed files with 62 additions and 5 deletions

View File

@@ -212,18 +212,18 @@ public class BacktestTests : BaseTests
Assert.NotNull(backtestResult);
// Financial metrics - using decimal precision
Assert.Equal(-105.45m, Math.Round(backtestResult.FinalPnl, 2));
Assert.Equal(-210.40m, Math.Round(backtestResult.NetPnl, 2));
Assert.Equal(104.94m, Math.Round(backtestResult.Fees, 2));
Assert.Equal(-106.56m, Math.Round(backtestResult.FinalPnl, 2));
Assert.Equal(-187.36m, Math.Round(backtestResult.NetPnl, 2));
Assert.Equal(80.80m, Math.Round(backtestResult.Fees, 2));
Assert.Equal(1000.0m, backtestResult.InitialBalance);
// Performance metrics
Assert.Equal(31, backtestResult.WinRate);
Assert.Equal(-10.55m, Math.Round(backtestResult.GrowthPercentage, 2));
Assert.Equal(-10.66m, Math.Round(backtestResult.GrowthPercentage, 2));
Assert.Equal(-0.67m, Math.Round(backtestResult.HodlPercentage, 2));
// Risk metrics
Assert.Equal(243.84m, Math.Round(backtestResult.MaxDrawdown.Value, 2));
Assert.Equal(247.62m, Math.Round(backtestResult.MaxDrawdown.Value, 2));
Assert.Equal(-0.021, Math.Round(backtestResult.SharpeRatio.Value, 3));
Assert.Equal(0.0, backtestResult.Score);