b1ad6f02d2
- 持久化: 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>
跟单回测功能文档
📚 文档清单
本目录包含跟单回测功能的完整设计文档:
核心文档
-
BACKTEST_PRD.md - 产品需求文档
- 功能概述与用户故事
- UI/UX设计详细说明
- 业务规则与数据要求
-
BACKTEST_TECHNICAL_DESIGN.md - 技术设计文档
- 数据库表结构设计
- RESTful API接口规范
- 后端服务架构
- 前端组件设计
- 回测算法实现
-
BACKTEST_REVIEW_CHECKLIST.md - 设计审查清单
- 设计完整性检查
- 边缘场景处理
- 风险评估与缓解
🎯 核心特性
- ✅ 完全复用现有跟单配置参数
- ✅ 实时市场结算(按
endDate检查) - ✅ 严格余额检查(避免过于乐观的回测)
- ✅ 支持按Leader筛选、按收益排序
- ✅ 详细的交易记录和资金曲线图
📖 阅读建议
产品经理: 先阅读 PRD,再查看审查清单中的关键决策点
技术负责人: 先阅读技术设计文档,再查看审查清单评估风险
开发工程师: 按顺序阅读所有文档,重点关注技术设计的实现细节
🔄 文档版本
- 创建日期: 2026-01-30
- 最后更新: 2026-01-30
- 当前版本: v1.0
📝 关键设计决策
1. 市场结算机制
- 采用实时检查方式:每笔交易前检查市场
endDate - 到期即结算,资金立即释放可用于后续交易
2. 余额检查策略
- 采用严格模式:仅使用
currentBalance,不计入持仓市值 - 停止条件:余额 < $1 且 无任何持仓
3. 数据源选择
- 优先使用系统记录的
ProcessedTrade表 - 不足时调用 Polymarket API 补充历史数据
4. 代码复用策略
- 后端:完全复用
CopyTradingFilterService的所有过滤逻辑 - 前端:复用跟单配置表单组件
- 数据库:配置字段与
CopyTrading表保持一致
🚀 下一步
完成文档审查后,可以:
- 创建
implementation_plan.md详细规划实施步骤 - 开始开发(数据库表 → API → 前端页面)
- 单元测试和集成测试
文档位置: /Users/wrbug/polyhermes/docs/zh/backtest/