Fix realized pnl on backtest save + add tests (not all passing)

This commit is contained in:
2025-11-14 02:38:15 +07:00
parent 1f7d914625
commit 460a7bd559
34 changed files with 6012 additions and 500 deletions

View File

@@ -132,14 +132,14 @@ public class BacktestTradingBotGrain : Grain, IBacktestTradingBotGrain
_logger.LogInformation("Backtest processing completed. Calculating final results...");
var finalPnl = tradingBot.GetProfitAndLoss();
var winRate = tradingBot.GetWinRate();
var stats = TradingHelpers.GetStatistics(tradingBot.WalletBalances);
var finalPnl = TradingBox.GetTotalNetPnL(tradingBot.Positions);
var winRate = TradingBox.GetWinRate(tradingBot.Positions);
var stats = TradingBox.GetStatistics(tradingBot.WalletBalances);
var growthPercentage =
TradingHelpers.GetGrowthFromInitalBalance(tradingBot.WalletBalances.FirstOrDefault().Value, finalPnl);
var hodlPercentage = TradingHelpers.GetHodlPercentage(candles.First(), candles.Last());
TradingBox.GetGrowthFromInitalBalance(tradingBot.WalletBalances.FirstOrDefault().Value, finalPnl);
var hodlPercentage = TradingBox.GetHodlPercentage(candles.First(), candles.Last());
var fees = tradingBot.GetTotalFees();
var fees = TradingBox.GetTotalFees(tradingBot.Positions);
var scoringParams = new BacktestScoringParams(
sharpeRatio: (double)stats.SharpeRatio,
growthPercentage: (double)growthPercentage,

View File

@@ -557,8 +557,8 @@ public class LiveTradingBotGrain : Grain, ILiveTradingBotGrain, IRemindable
Positions = _tradingBot.Positions,
Signals = _tradingBot.Signals,
WalletBalances = _tradingBot.WalletBalances,
ProfitAndLoss = _tradingBot.GetProfitAndLoss(),
WinRate = _tradingBot.GetWinRate(),
ProfitAndLoss = TradingBox.GetTotalNetPnL(_tradingBot.Positions),
WinRate = TradingBox.GetWinRate(_tradingBot.Positions),
ExecutionCount = _state.State.ExecutionCount,
StartupTime = _state.State.StartupTime,
CreateDate = _state.State.CreateDate