fix: 修复回测统计计算空列表异常
- 修复 calculateStatistics 在 trades 为空时的 IndexOutOfBoundsException - 添加空列表检查,避免访问 trades[0] - 确保回测任务即使没有交易记录也能正常完成
This commit is contained in:
+5
-1
@@ -590,7 +590,11 @@ class BacktestExecutionService(
|
|||||||
var maxLoss = BigDecimal.ZERO
|
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 peakBalance = runningBalance
|
||||||
var maxDrawdown = BigDecimal.ZERO
|
var maxDrawdown = BigDecimal.ZERO
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user