ec02a791ee
- 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 通过
55 lines
3.5 KiB
Markdown
55 lines
3.5 KiB
Markdown
# 需求: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`(变量表 / 运算符 / 函数 / 示例 / 报错对照 / 常见问题)。
|