SuperAPI AI 工具集

openalgo-chart-indicator

通用与其它

查看项目

更新于 10-16 00:06

技能介绍

用途:在 openalgo-charts 图表中添加内置指标、调整其样式、依据描述符生成设置界面,或用 registerIndicator 编写自定义指标。

主要能力:内置 112 个指标,id 为小写连字符形式(如 williams-percent-r),需从源码解析而非猜测。chart.addIndicator 添加指标,hasIndicator 与 registeredIndicators 用于运行时校验。每个绘图自动获得颜色、透明度、线宽、线型与绘图样式;颜色键为描述符声明的 colorKey,需用 plotStyleKeys 解析。28 个内置指标含填充,通过 colorUpKey/colorDownKey 重设。设置对话框可由描述符的 inputs 与 indicatorStyleInputs 生成,图表在点击图例齿轮时发出 indicatorSettings 事件。自定义指标用 registerIndicator,描述符包含 id、name、placement、inputs、plots、可选 levels 与纯 calc;1.7.1 起支持 draws 几何、overlay、colorBy 扩展;1.8.1 起 calc 可接收 IndicatorCalcContext,支持 alerts、background、barColors、plot.ohlc 等;2.4.0 起支持 securitySeries、plot.offset、错误状态发布、markers、fills.overlay、plot.colorParts、draws 的 tooltip/id、interval/time 输入、table fontSize、ctx.requestBars;2.5.6 起输入支持 visibleWhen/activeWhen。非 OHLCV 数据用 createTier2Indicator,按“每根 bar 取该时刻或之前最近的外部点”对齐,不插值、不前瞻。

使用方式:先在应用入口导入 import 'openalgo-charts/indicators'; 注册内置指标,否则 addIndicator 抛错。添加内置:chart.addIndicator('bollinger') 或 chart.addIndicator('macd', { fastPeriod: 8 })。重设样式:macd.setSettings({ 'macd:width': 2, 'macd:lineStyle': 'dashed', macdColor: '#26a69a' })。自定义示例:registerIndicator({ id: 'my-ma', name: 'My MA', placement: 'onchart', inputs: [{ key: 'length', type: 'number', label: 'Length', default: 20 }], plots: [{ key: 'ma', title: 'MA', type: 'line', style: { lineWidth: 1.5 } }], calc(bars, settings) { /* 返回与 bars 对齐的 { ma: (number | null)[] } */ } });。字段名与 calc 返回结构以 dist/index.d.ts 为准。验证:npx tsc --noEmit,并在实时图表确认绘图出现在预期窗格、图例有读数、改设置会重绘。

适用场景:为图表添加或定制技术指标、构建指标设置界面、接入外部分析数据(持仓量、累计成交量差、PCR 等)。

限制:不得臆造指标 id 或输入键;placement 由描述符决定,仅在用户明确要求时覆盖 paneIndex;calc 每次数据变化都运行,须保持 O(n) 且少分配,不得在其中发起请求;移除指标会自动清理空窗格,不要自行再移除;指标绘图不是价格序列,不驱动磁吸十字线或最新价线;代码、标签与日志中不得使用 emoji 或图标;registerIndicator 会覆盖同名 id,自定义 id 应加命名空间;涉及日历的指标需从保留的 timezone 键读取时区并防御性处理。资料未提供收费、价格与平台信息。