# 迭代目标:23-计算字段判定型扩展(含网格超市信号字段) > 依据:**R-028(已定稿,2026-09-10)** | 类型:小步迭代(R-026 能力延伸,不单列计划文档) > 日期:2026-09-10 | 状态:**已实现,待老师人工验收** ## 目标 把计算字段从「只出数字」扩展到**判定型**(比较运算 + and/or 组合,结果类型由字段显式声明), 并用它给网格超市落地两条网格规则:**可下空单** = `涨停价 > 基准值 + 网格大小`、 **可下多单** = `跌停价 < 基准值 - 网格大小`。 ## 目标描述 - **背景**:老师提出「当天涨停值 > 当前基准值 + 1 即可下空单 / 当天跌停值 < 当前基准值 - 1 可下多单」; R-026 的计算字段只产数字(无比较运算),需先扩能力; - **范围**:引擎(比较/逻辑/inferResultKind)、存储(`resultKind`)、API 校验(结果类型一致性)、 字段表单(结果类型选择 + 判定时隐藏小数位 + 运算符提示 + 判定试算)、持仓表判定列渲染(`✓ 字段名` / `—`); - **不做**:三态信号字段(空/多/观望,方案 C)、not 一元取反、判定与数字的混合字段、策略级聚合; - **验收线**(详见 `验收标准.md`):C1–C8。 ## 目标分解 1. 引擎:比较 `> < >= <= == !=`(含全角 `≥ ≤ ≠`)+ 逻辑 `and/or`(含 `&& ||`)+ 优先级 + 缺值短路 + `inferResultKind`; 2. 存储/校验:`resultKind: number|boolean`(归一化 + 保存校验一致性); 3. 现算:`computed` 布尔直通(判定型不参与 toFixed 格式化); 4. UI:结果类型选择、判定占位与运算符提示、判定列 `✓ 字段名`(绿)/ `—`(灰)、判定试算(✓ 满足 / — 不满足); 5. 回归:`test-r026` 增补 R-028 段(23 条)+ 网格超市真实夹具端到端; 6. 文档:R-028 + 本迭代四件套 + 约束变更 3 处。 ## 目标讨论过程 1. 2026-09-10 老师提出网格超市两条判定规则; 2. AI 用**真实数据**验证可行性(13 只持仓 × 今日涨跌停 × 真实基准值 → 空单 5 / 多单 2), 并指出 R-026「只出数字」的能力边界 → 提出 A/B/C 三方案; 3. 老师拍板 Q1–Q5(全采建议):A 判定型 / ✓ 与 — / 支持 and·or / 结果类型显式 / 阈值引用网格大小; 4. T-012 转正 R-028 → 本轮实施完成(typecheck + build + 17 脚本全绿)。 ## 对老师(项目主理人)的配合需求 - **重载插件后**在页面添加这两个字段(字段配置 → 添加字段 → 类型「计算」→ 结果「判定」→ 公式粘贴 → 试算 → 保存); 或告知由我用端点写入; - 按 `验收标准.md` C1–C8 人工确认。