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。应用应在安装其第一个数据集前 await 本方法。
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 语义相同)。抛出:TypeError,用于格式错误的标签或稀疏/非对象的 custom 条目。
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设置时间戳范围。在市场时间中,省略的边界会在早期请求之后由渲染器解析,且 getViewport() 会在其接受的范围同步之后执行。
setVolumeProfile(volumeProfile: VolumeProfileOptions | false) => void替换或禁用基于蜡烛估算的可见范围成交量分布。
updateAppearance(patch: DeepPartial<BaseAppearanceOptions>) => void在运行时修补可变外观选项。抛出:当标签格式错误或稀疏/非对象 custom 条目时抛出 TypeError。