Skip to content

feat(script)!: add maxsum indicators and unify drawing style - #335

Merged
363045841 merged 4 commits into
mainfrom
feat/script-maxsum-indicators
Oct 28, 2026
Merged

363045841 merged 4 commits into
mainfrom
feat/script-maxsum-indicators

Conversation

@363045841

@363045841 363045841 commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

一、主要功能更新

新增最大子段和原语与四个基于它的指标,同时把绘图文字样式收敛到唯一模型,并给绘制 API 补上选项对象重载。

大功能

  • 代码编辑器支持多级文件夹,文件区域支持右键菜单
  • 支持在代码编辑器中直接运行脚本,便于直接看到 console.log 输出
  • 支持在代码编辑器中直接将编写的脚本添加到图表上,不需要再走手动添加指标链路
  • ta.maxsum:窗口内最大子段和(Kadane),返回 [子段和, 起点偏移, 终点偏移],负偏移与 ta.highestbars 一致;每 bar O(length),按 bar 缓存。
  • 四个内置指标:MPR 最优单次交易、MDD 最大回撤、BIS 最强连续区间、MFS 最大净流入段;区间框与文字统一画在框下方,文字使用主题前景色。
  • 绘图文字样式 SSOT:DrawingText 不再自带 color / size,文字颜色与字号只存 DrawingStyle.textColor / fontSize,主题别名在投影阶段统一解析。
  • 绘制 API 选项对象重载:line.new / box.new / label.new 新增 LineOptions / BoxOptions / LabelOptions,Pine 顺序的位置参数保留,两者汇入同一构造。
  • @foreground 主题别名:浅色主题深色字、深色主题浅色字;19 个别名均走 DTCG 管线并通过对比度审计。

设计决策见 docs/design/drawing-text-color.md。


二、修复的问题与 UI 优化

修复

  • 深色模式下 Box / Label 文字渲染成黑色:文字颜色原先有两个存放位置,drawing.text.color 落在主题解析边界之外,别名被原样交给 canvas 后静默沿用上一次填充色。
  • zones 的 FVG / OB 标签在深色主题下是黑字、浅色主题下是半透明文字。

UI 优化

  • 区间指标的文字移到矩形下方居中,不再压住 K 线。
  • 内置脚本的长参数调用改用选项对象,例如 label.new({ x, y, text, color, offsetY })。

重构

  • box.new / label.new 未指定文字颜色时跟随描边,不再默认绝对黑。
  • 移除 frameProjection 中为文字颜色临时加的解析分支,颜色解析回到 resolveDrawingStyle 一处。

破坏性改动

  • DrawingText 移除 color、size;若有持久化文档带这两个字段,需在读取处迁移到 style.textColor / style.fontSize。

验证

  • pnpm type-check 通过;core 2564、script 513、vue 217 测试通过;pnpm tokens:check、docs:script:check 通过。

@363045841
363045841 merged commit 9b656fa into main Oct 28, 2026
4 checks passed
@363045841
363045841 deleted the feat/script-maxsum-indicators branch October 28, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant