fix: 修复回测统计计算空列表异常

- 修复 calculateStatistics 在 trades 为空时的 IndexOutOfBoundsException
- 添加空列表检查,避免访问 trades[0]
- 确保回测任务即使没有交易记录也能正常完成
This commit is contained in:
WrBug
2026-01-31 21:10:10 +08:00
parent ff3b24b50e
commit 55da551971
@@ -590,7 +590,11 @@ class BacktestExecutionService(
var maxLoss = BigDecimal.ZERO
// 计算最大回撤
var runningBalance = trades[0]?.balanceAfter?.toSafeBigDecimal() ?: BigDecimal.ZERO
var runningBalance = if (trades.isNotEmpty()) {
trades[0].balanceAfter?.toSafeBigDecimal() ?: BigDecimal.ZERO
} else {
BigDecimal.ZERO
}
var peakBalance = runningBalance
var maxDrawdown = BigDecimal.ZERO