Files
one_divine_lot/docs/05-需求池/R-028.md
T
kyugao ec02a791ee 迭代22+23: 策略tab静态化 + 计算字段(数字/判定型)+ 网格超市信号字段
- R-027 静态化:策略恒为内置两项(不可增删改名,保留显隐/排序);设置页移除「策略分组」;
  字段配置入口迁到策略 tab 内「列设置」旁(FieldConfigDialog + schema-update 单策略写入)
- R-026 计算字段:自写公式引擎(中文变量、四则/括号/round·abs·min·max、缺值短路→—)+
  变量目录(行情/合约/持仓/自定义字段)+ strategy-positions 逐行现算(只读内存缓存,不落库、列只读)
- R-028 判定型:比较运算 + and/or + inferResultKind + 结果类型一致性校验 + 判定列 ✓/— 渲染;
  网格超市落地 可下空单=涨停价>基准值+网格大小、可下多单=跌停价<基准值-网格大小
- 变量选择改标签平铺(老师反馈);公式手册 docs/99-其他材料/计算字段公式说明.md
- 约束同步:产品约束-002/003/004/009/013/014、技术约束-014/015/022/023/024、UI约束-002/003/005/008
- 回归:新增 test-r026/test-r027,更新 r011/r013/r017,17 个脚本全绿;typecheck/build 通过
2026-09-10 14:05:06 +08:00

55 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求:R-028 判定型计算字段 + 网格超市「可下空单 / 可下多单」· 已定稿
> 登记:2026-09-10 来源:老师指令(2026-09-10)| 状态:**已定稿(2026-09-10 老师逐项确认 Q1-Q5**
> 归属:**23-计算字段判定型扩展** | 实现状态:**已实现(2026-09-10),待老师人工验收**
> 前身:草稿 T-012(已转正,草稿文件已清理)| **能力扩展**:R-026(计算字段,原「首批结果只做数字」)→ 视同修订 产品约束-014
## 诉求(老师,2026-09-10
> 我想给网格超市添加一个计算字段,即当天涨停值 > 当前基准值 + 1 ,即可以下空单;当天跌停值 < 当前基准值 - 1,可以下多单。
## 现状限制(R-026 能力边界)
计算字段原**只产出数字**(产品约束-014「首批结果只做数字」),公式能力 = 四则 + 括号 + round/abs/min/max
**没有比较运算** → 上述两条规则无法直接表达为判定列。可用变量已覆盖全部原料
`涨停价`/`跌停价` = QuoteHub 合约信息按交易日;`基准值` = 网格超市手填字段)。
## 定稿结论(2026-09-10 老师拍板)
1. **方案 A|判定型计算字段**(Q1):引擎新增比较运算与逻辑组合,字段表单新增「结果类型:数字 / 判定」;
2. **判定列显示**Q2):满足 → `✓ <字段名>`(success 绿);不满足 / 缺值 → `—`tertiary 灰);
3. **支持 and / or 组合**Q3,含 `&&` / `||` 与全角 `≥ ≤ ≠`);
4. **结果类型由字段表单显式声明**(Q4),服务端校验「声明与公式形态一致」(判定=顶层比较/逻辑,数字=其余);
5. **阈值引用「网格大小」字段**Q5):公式写 `涨停价 > 基准值 + 网格大小`(阈值可配;当前各行网格大小=1,与写死 1 等价)。
**网格超市落地字段(两条)**
| 展示名 | 类型 | 结果 | 公式 | 单位 |
|---|---|---|---|---|
| 可下空单 | 计算 | 判定 | `涨停价 > 基准值 + 网格大小` | — |
| 可下多单 | 计算 | 判定 | `跌停价 < 基准值 - 网格大小` | — |
## 可行性验证(2026-09-10,真实持仓 + QMT 合约信息)
13 只网格超市当前持仓实算:**可下空单 5 只**(积成电子 8.22>8、天海防务 7.9>7、万顺新材 7.73>7、
大连热电 8.51>8、华智数媒 9.28>8);**可下多单 2 只**(中国化学 6.68<7、TCL中环 8.2<9);其余 6 只两条均不满足。
## 决策记录
| 项 | 结论 | 讨论 |
|---|---|---|
| 结果形态 | 判定型计算字段(方案 A) | Q1(老师选 A) |
| 判定显示 | 满足 `✓ 字段名`(绿)/ 不满足 `—`(灰) | Q2 |
| 组合条件 | 支持 and / or | Q3 |
| 结果类型 | 表单显式声明,服务端校验一致性 | Q4 |
| 阈值 | 引用「网格大小」字段 | Q5 |
| 存储/现算 | 结果可为布尔(`computed[key]` 布尔直通);仍不落库 | 沿用 R-026 语义 |
| 成本 | 引擎 + 校验 + 表单 + 渲染四处小改;无新增数据通路 | — |
## 关联
- 上游:R-026 / 迭代 22(计算字段:引擎、变量目录、现算、只读列);
- 修订:产品约束-014(结果类型扩展为 数字 / 判定)、技术约束-022(引擎运算集)、技术约束-024(校验规则)、UI约束-008(判定 UI);
- 迭代:23-计算字段判定型扩展(含网格超市两字段落地);
- 使用说明(用户手册):`docs/99-其他材料/计算字段公式说明.md`(变量表 / 运算符 / 函数 / 示例 / 报错对照 / 常见问题)。