intfoo and GitHub
991cb6768c
feat(strategy): 策略参数 UI 元数据(级联显隐 / 分组 / 预设批量应用) ( #447 )
...
* feat(strategy): 策略参数 UI 元数据(级联显隐 / 分组 / 预设批量应用)
META["params"] 的 dict 项本就由后端 _normalize_param_item 原样透传额外
key,三个可选 UI 元数据字段零后端改动即可生效,未声明的参数行为不变:
- visible_if: 级联显隐,支持 {param,in} 单条件与 all/any 递归组合;
隐藏仅是显示层过滤,参数值仍按当前值随请求提交(策略语义不受影响)
- group: 相同组名的相邻参数在参数面板归并为一节(带节标题)
- option_applies: select 选中某选项时批量应用一组参数值(如标的池预设)
实现:
- 新增 lib/strategyParams.ts(递归条件求值 + 分组归并,含 vitest 单测)
- 回测页参数面板:分节渲染 + 级联联动 + 命名组内横排布局
- 策略设置弹窗:同样分节 + 级联 + 预设应用
- paramSweep:级联隐藏参数不参与扫描(按持久化默认值判定显隐)
- strategy-guide 双文档补元数据说明
* fix(strategy): 精简指南移除 UI 元数据注释行 — 修复 5000 字符上限测试
* fix(frontend): 参数扫描面板短标签加组名前缀 — paramDisplayLabel
分组内短标签(「止盈」「入池」)脱离分组上下文后不可区分: 扫描面板是
平铺列表, 同名参数挤在一起无法辨认, 级联隐藏提示行同样不可读。
新增 paramDisplayLabel (组名 · 标签), 用于扫描行与隐藏提示;
参数面板本身有组标题不受影响。
2026-10-16 14:06:37 +08:00
shy3130
ecb49cbaca
release: v0.3.6 — 核心+扩展架构完善版
...
合并 0.3.6 分支全部内容 (36 提交, 详细历史见 0.3.6 分支):
■ 数据与插件
- TdxQuant 数据源: 通达信量化接入 (实时/五档/日K/复权/分钟), tdxaidata 收进默认依赖
- 扩展表两级拉取配方: 概念/行业出厂即带完整可拉配置, 可作自定义接入参考示例
- 能力门禁日志带生效源; 标的池解析只走 instruments 维表
■ 页面扩展化
- 11 个官方页面全量迁移为单文件扩展 (custom/*/extension.tsx), 删目录即卸载
- 运行时页面包系统: 打包产物上传即挂载, 免重建宿主
- 新装用户扩展页默认隐藏, 老用户升级菜单无感
■ AI
- Responses 协议接入; 会话历史与长任务跨设备同步 (服务端注册表)
- 助手头部快捷入口 + 悬浮球拖拽 zoom 坐标系修复 + 系统设置开关
■ 界面
- 设置「关于」子菜单: 版权/更新/打赏 + 开源许可弹窗与合规声明双保险
- 侧栏两态收起、数据/AI 助手快捷行 (同步呼吸光晕)、核心/扩展 ext 标记
- 界面缩放默认 90%; 菜单设置徽标 Swiss 化; 策略池「叠加」分组
- 情绪评分口径可配置; 财务画像 5 张子表手动拉取
■ 文档与其他
- README 重构「核心+扩展」主线 + 架构图重画; 开放端点数核实为 65
- 版本号 bump 0.3.6; tdx 物化库测试夹具补 macOS dylib
2026-10-13 13:40:17 +08:00
shy3130
918c7ade7e
refactor(core): 策略与信号全面去内置化, 转为用户自定义定义
...
- 策略: 引擎只加载 data/strategies/{custom,ai,composite} 与研究模板目录,
原 25 个内置策略一次性迁移为用户自定义文件(ID 不变, 引用零迁移);
研究模板移至 app/strategy/research, 打包 spec 同步; 新装环境策略库为空
- 信号: 管线不再硬编码任何信号表达式; 涨跌停判定价成为运行时列
limit_up_price/limit_down_price(生效价∓0.005 容差), 20 个信号转为
data/user_data/custom_signals 定义(显式 column 沿用 signal_* 原列名);
依赖解析/注入顺序/当日路径 prev-join 全部定义驱动; 语义统一为历史路径
口径(顺带修正当日路径 BOLL 比较符与翘板/炸板空值两处既有偏差)
- 前端: 信号库单列表(全部可编辑), SignalPicker/监控选项/信号标签全走
定义接口; 回测页新增免责声明(模拟性质/数据源准确性不作保证/不构成
投资建议)
- 测试: 25 个策略夹具与 20 个信号种子入库 tests/fixtures, 受影响测试
全部自包含化(不依赖运行目录用户数据); 77 万行 MA 死叉新旧表达式对拍
逐行一致; 回测实跑 45 笔卖点信号出场验证矩阵链路
- 同批包含工作区既有进度: 策略结果 ext 列同日投影修复(含测试)、数据源插件、fuyao/auth/api_gateway/data_integrity 调整、README 信号库
描述与 strategy.md 导入路径补充
验证: 后端 2592 passed(空数据目录 CI 模拟 2588 passed, 4 例为模拟环境
伪影复验排除); 前端 vitest 125 passed + tsc 0 错 + vite build 通过
2026-10-10 21:10:44 +08:00
intfoo
3e105a475d
feat(strategy): 支持 string 类型策略参数
...
META["params"] 新增 string 类型(自由文本),后端本就按非数值类型
原样透传,无需改动;本 PR 补齐前端渲染与扫描守卫:
- StrategyParamDef.type 联合类型加 'string'
- 回测页/策略设置弹窗参数面板:string 渲染为文本输入框
(此前未知类型会掉进 number 分支,文本值被 Number() 转成 NaN)
- paramSweep:string 参数标记「文本参数不可扫描」,buildGrid
防御性跳过(后端 _candidates_for 只支持 float/int 范围展开)
- strategy-guide / compact 指南与 AI 生成 prompt 同步参数类型说明
2026-10-01 21:07:56 +08:00
shy3130
6e317a5a43
feat(v0.2): 完善量化研究与二次开发能力
2026-08-13 20:16:02 +08:00
shy3130
1a87cff730
fix: align AI strategy prompt constraints
2026-07-18 18:31:02 +08:00
lytem28
4cdd41e788
feat: complete matrix-native backtest engine
...
Unify strategy execution across backtest, screener, and monitoring; isolate backtest workloads in spawn workers; and add shared matrix caching plus valid-bar indicator acceleration.
2026-07-16 12:17:27 +08:00
5f3c96f9dc
fix(strategy): import 白名单加 datetime + date 参数处理补进文档 ( #123 )
...
问题: ai_single_yang_unbroken 策略用 from datetime import date 做
date 类型参数转换, 被安全修复的 import 白名单(只允许 polars)拦截,
策略加载失败消失。同时 date 列(Polars Date)与字符串参数直接比较
报 InvalidOperationError 导致 500。
修复:
- ai_generator.py: import 白名单加入 datetime (纯日期运算, 无文件/
网络/进程能力, 安全)。验证 os/sys/subprocess 仍被拦。
- strategy-guide.md: params type 补全(float/int/bool/select/date);
filter_history 要点新增 date 参数必须 fromisoformat 转换的代码示例
- strategy-guide-compact.md: 同步补充 (AI 运行时实际用的文档)
从源头避免 AI 生成的 date 类型参数策略再犯字符串 vs Date 列比较错误。
Co-authored-by: shy3130 <shy3130@users.noreply.github.com >
2026-07-14 21:47:26 +08:00
shy3130
5376a137d0
feat: 优化策略创建流程
2026-07-08 22:17:11 +08:00
shy3130
be8a637eac
fix(strategy): 修复 Docker 镜像中 AI 策略提示词文档缺失
...
将运行时依赖的 3 个提示词文档(strategy-guide.md / step1 / step2)
从 docs/ 复制到 backend/app/strategy/prompts/,使其随 COPY backend/app
自动进入镜像;并将 GUIDE_PATH/_DOCS_DIR 改为相对当前文件的 prompts/,
路径在开发环境与 Docker 容器中解析一致。
修复 #41
2026-07-03 09:51:30 +08:00