StockChart API

StockChart 用于加载 OHLCV 数据、流式烛线、控制范围和添加市场图层的方法。

导入
import { StockChart } from "@sixtyfold/stock";

使用上方所示的公开入口。仅类型导入不会保留在应用 JavaScript 中。

ChartOverlayError

当一个或多个声明式覆盖源无法应用时报告的错误。

导入 @sixtyfold/stock

class ChartOverlayError extends Error
成员定义描述
cause?Error | undefined导致图表覆盖错误的原因。
messagestring消息文本。
name"ChartOverlayError"此图表覆盖层错误的显示名称。
sourcesreadonly string[]图表覆盖层错误的来源。
stack?string | undefined调用栈文本。

ChartRendererError

在图表渲染器启动或后续使用期间失败时报告的错误。

导入 @sixtyfold/stock

class ChartRendererError extends Error
成员定义描述
cause?Error | undefined图表渲染器错误的原因。
messagestring消息文本。
name"ChartRendererError"此图表渲染器错误的显示名称。
phaseRendererFailurePhase图表渲染器错误的阶段。
stack?string | undefined调用栈文本。

StockChart

用于聚合 OHLCV 蜡烛、成交量、分析、剖面、价格线和标记的命令式浏览器图表。

导入 @sixtyfold/stock

class StockChart
成员定义描述
addCandle(timestamp: number, open: number, high: number, low: number, close: number, volume: number) => void将一个 OHLCV 蜡烛追加到流缓冲区,并将快速调用合并为一个动画帧。
addCandleBatches(batches: readonly StockCandleBatch[], options?: StockAddCandlesOptions) => void在一次渲染器更新中安装多个 OHLCV 块。Worker 模式会转移并分离每个块的缓冲区;主线程模式下,数组按引用保留。
addCandles(timestamps: Float64Array, opens: Float64Array, highs: Float64Array, lows: Float64Array, closes: Float64Array, volumes: Float64Array, options?: StockAddCandlesOptions) => void在一次渲染器更新中添加对齐的 OHLCV 列。Worker 模式会转移并分离所提供的缓冲区;主线程模式下,数组按引用保留。
batch(fn: () => void) => void将同步的外观与视口更改合并为一次更新。嵌套批处理会合并;数据加载仍立即执行。
destroy() => void释放图表及其所拥有的资源。
getAppearance() => DeepReadonly<StockAppearanceOptions>返回可变外观子集的只读快照。
getOptions() => DeepReadonly<StockChartOptions>返回全部已规范化的只读快照,包含所有选项(构建时 + 当前外观)。
getRenderMode() => "worker" | "main"返回解析后的渲染模式("Worker" 或 "主线程")。
getViewport() => Viewport返回当前视口的快照。
initialize() => Promise<void>等待渲染器准备好接收数据和运行时命令。构建时初始化看门狗在 Worker 或主线程回退未在配置的间隔内就绪时,会以 ChartRendererError 拒绝此 promise。应用应在安装第一个数据集之前等待此方法完成。
initStreaming(maxCandles?: number) => void为实时更新分配固定容量的 OHLCV 环形缓冲区。
reset(options?: { animated?: boolean; }) => void将视口重置为完整数据范围。
resize() => void将渲染器与画布大小同步。
setData(data: OHLCVData) => void加载对齐的 OHLCV 列,并将规范化数组的所有权交给渲染器。Worker 模式会转移并分离缓冲区;主线程模式下,数组按引用保留。
setIndicators(indicators: StockIndicator[]) => void替换内置的技术指标定义。
setKeyboardAnnouncements(messages: false | KeyboardAnnouncementMessages) => void在运行时替换或禁用本地化的键盘操作提示。现有待处理的提示将被取消。
setLabels(labels: ChartLabels) => void在运行时更新图表标签。合并到现有标签(语义与 updateAppearance 相同)。对于格式错误的标签或稀疏/非对象的 custom 条目抛出:TypeError。
setMarkers(markers: StockMarker[]) => void替换所有稀疏的时间戳/价格标记。
setOverlay(overlay: OverlayOptions) => Promise<void>在运行时更新声明式覆盖原语。有效的原语和成功解码的图像即使在其他图像失败时也会被安装。如果每个请求的项目都失败,则保留先前呈现的覆盖。分辨率和渲染器传递失败将以 ChartOverlayError 拒绝;当应用也需要异步通知时,请注册 setOverlayErrorCallback。在懒加载渲染器就绪之前调用时,该 promise 包含就绪等待。被取代的更新和图表销毁属于常规取消并会在不安装的情况下解析。
setOverlayErrorCallback(callback: OverlayErrorCallback | null) => void为非致命的覆盖分辨或传递故障注册回调。成功的覆盖项仍会被安装。匹配的 setOverlay promise 也会以相同错误拒绝。
setPriceLines(priceLines: StockPriceLine[]) => void替换所有水平数据锚定的价格线。
setRendererErrorCallback(callback: RendererErrorCallback | null) => void注册一次性渲染器故障回调。用于初始化或运行时故障,会在拆除前调用一次。若无回调,错误将通过 console.error 报告。传入 null 可取消;destroy 的调用不会触发该回调。
setStatsCallback(callback: ((stats: StockChartStats) => void) | null, options?: StockChartStatsOptions) => void启用渲染器统计并接收节流快照。传入 null 可将其禁用。
setTimeRange(range: TimeRange) => void应用导出的日历/会话预设之一。图表不呈现控件。应用方拥有的控件可以为某个预设调用此方法,或为任意时间戳范围传入 setViewport()
setViewport(viewport: Partial<Viewport>, options?: { animated?: boolean; }) => void以编程方式设置视口范围。仅需提供 xMin 和/或 xMax;省略的字段将保留当前值。
setVolumeProfile(volumeProfile: VolumeProfileOptions | false) => void替换或禁用基于蜡烛估算的可见范围成交量轮廓。
updateAppearance(patch: DeepPartial<BaseAppearanceOptions>) => void在运行时修补可变外观选项。抛出:TypeError,用于格式错误的标签或稀疏/非对象custom 条目。