feat(backtest): 回测结算持久化、按配置重新测试、执行时以当前时间为窗口基准

- 持久化: BUY/SELL 与 SETTLEMENT(WIN/LOSE/UNKNOWN/CLOSED) 均写入 backtest_trade
- 重新测试: 已完成任务支持「按当前配置重新测试」,新任务名称可编辑,后端 POST /tasks/rerun + 前端按钮与确认弹窗
- 回测窗口: 首次执行以当前时间为终点、startTime = endTime - backtestDays(局部变量,不修改实体)
- 新增错误码 BACKTEST_TASK_NOT_COMPLETED、SERVER_BACKTEST_RERUN_FAILED 及多语言

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
WrBug
2026-02-09 01:08:40 +08:00
co-authored by Cursor
parent 01a1836659
commit b1ad6f02d2
20 changed files with 526 additions and 199 deletions
+6 -1
View File
@@ -797,6 +797,11 @@ export const backtestService = {
/**
* 重试回测任务
*/
retry: (data: { id: number }) => apiClient.post('/backtest/tasks/retry', data)
retry: (data: { id: number }) => apiClient.post('/backtest/tasks/retry', data),
/**
* 按当前配置重新测试(仅支持已完成任务,创建同名配置的新任务)
*/
rerun: (data: { id: number; taskName?: string }) => apiClient.post('/backtest/tasks/rerun', data)
}