背景
wtpy/monitor/static/console 下的回测查探器前端(backtest.html + backtest.*.js)只有 webpack 编译产物(文件名带内容 hash),仓库中没有任何前端源码(无 .vue / package.json / 构建配置)。我们在实际策略的日常使用中遇到一批前端显示问题,其中多数的修复点在前端,但由于只有编译产物,无法以 PR 形式贡献给社区。
问题清单
- 日线周期信号分析:时间轴/日期显示错误——后端 get_bt_kline 日线 bartime 只传 8 位 yyyymmdd,前端按 bartime/1e4 取日期、bartime%1e4 取时间拆分,日期只剩年份、月.日被渲染成 "06:17"。后端已可通过 bartime = date*10000 + 1500 修复(我们已提交 PR)。
- 日线周期:买卖点/回合连线无法锚定——前端将回合开/平仓时刻与 K 线 bartime 做时刻级精确匹配,日线周期下永不命中。根本解决需要前端改为日期级匹配。后端归一可绕过(已在我们的 PR 中一并处理),但匹配逻辑本身仍非日线友好。
- 多品种策略:买卖点/回合全品种混画——前端绘制时未按当前主图品种过滤,其他品种的箭头画到当前图表上(位置错乱)。
- 分时弹窗数据源硬编码外部演示服务器——硬编码 hqchart.zealink.com 演示缓存接口,本地部署必然失败,弹窗永远“数据加载中”;selfIndex 分时分支只有空壳。建议数据源可配置(HQChart 已有 NetworkFilter 机制)或提供本地实现。
- 弹窗图表未透传 NetworkFilter——主图的 NetworkFilter 不传给弹窗图表实例。
- 隐藏页签切换后画布永久空白——paintChart 在隐藏期将 clientWidth=0 写成内联样式并以 0 尺寸重绘,切回后需手动 resize 才能恢复。建议尺寸为 0 时跳过。
- 主图 K 线数量上限 1000 根——MaxReqeustDataCount=1000,长回测只能看最近一段。
- 指标列表死条目 STD/RST——HQChart 注册表中不存在,点击后窗口空白。
- 价格小数位识别失败——图表库按 A 股裸代码识别精度,WonderTrader 的 SZSE.ETF.159928 格式识别不出,统一落默认 2 位。图表库已有 GetCustomDecimal 入口可按规则注册。
- 双 Y 轴图表 0 轴对齐取决于数据运气——“月化收益以及收益率(%)”左右两轴 scale:true 独立缩放,0 轴是否重合看数据范围;“浮盈与回撤(%)”将不同分母口径的百分比画同一根线性轴,量纲差异大时低幅序列被压扁。建议显式对齐零轴或提供副轴/对数轴选项。
为什么我们不提交前端修复
上述问题我们大多已在本地验证出修复方法,但修复载体是编译产物 JS——文件名带内容 hash、代码压缩混淆,diff 无法审计,也不存在“基于源码重新构建”的可能。提交编译产物的二进制式变更不符合开源规范,也无法 review。
请求
希望官方开源 monitor 前端源码(Vue + element-ui + HQChart 封装层)与构建配置。开源后上述问题我们愿逐项以 PR 贡献;后端侧我们已准备若干配套修复 PR(日线 bartime 时间位、回合手续费归属、接口健壮性等),可与前端修复衔接。
背景
wtpy/monitor/static/console 下的回测查探器前端(backtest.html + backtest.*.js)只有 webpack 编译产物(文件名带内容 hash),仓库中没有任何前端源码(无 .vue / package.json / 构建配置)。我们在实际策略的日常使用中遇到一批前端显示问题,其中多数的修复点在前端,但由于只有编译产物,无法以 PR 形式贡献给社区。
问题清单
为什么我们不提交前端修复
上述问题我们大多已在本地验证出修复方法,但修复载体是编译产物 JS——文件名带内容 hash、代码压缩混淆,diff 无法审计,也不存在“基于源码重新构建”的可能。提交编译产物的二进制式变更不符合开源规范,也无法 review。
请求
希望官方开源 monitor 前端源码(Vue + element-ui + HQChart 封装层)与构建配置。开源后上述问题我们愿逐项以 PR 贡献;后端侧我们已准备若干配套修复 PR(日线 bartime 时间位、回合手续费归属、接口健壮性等),可与前端修复衔接。