无法创建AnyChart自定义指标,如何导入CSV/JSON数据展示自定义震荡指标
完全可以实现,以下是两种可直接落地的实现方案,不需要依赖AnyChart内置的指标计算接口:
方案1:预合并字段后直接映射
将你CSV/JSON中提前算好的震荡指标值作为单独字段,和行情数据(开高低收、成交量等)合并后统一存入DataTable,新建指标图后直接映射字段即可,示例代码如下:
// 加载包含自定义震荡指标的CSV,CSV字段参考:date,open,high,low,close,volume,custom_oscillator anychart.data.loadCsvFile("你的数据文件路径.csv", function (rawData) { // 初始化DataTable并存入全量数据 const dataTable = anychart.data.table("date"); dataTable.addData(rawData); // 初始化股票图表 const stockChart = anychart.stock(); // 绘制主图K线 const mainPlot = stockChart.plot(0); mainPlot.candlestick(dataTable.mapAs({ open: "open", high: "high", low: "low", close: "close" })); // 新建下方震荡指标区,高度和内置oscillator一致 const oscillatorPlot = stockChart.plot(1); oscillatorPlot.height("30%"); // 直接映射你预计算好的自定义指标字段即可 oscillatorPlot.line(dataTable.mapAs({ value: "custom_oscillator" })).name("自定义震荡指标"); // 渲染图表 stockChart.container("container"); stockChart.draw(); });
这种方式性能最优,不需要前端做额外计算,生成的指标图和AnyChart内置震荡指标功能完全一致,支持缩放、tooltip联动、主图交叉线同步等所有原生特性。
方案2:分开加载数据后合并
如果你的行情数据和自定义指标数据分属两个不同的CSV/JSON文件,可以先加载行情数据存入DataTable,再加载指标数据按时间戳匹配后追加到DataTable的对应字段,后续映射逻辑和方案1完全相同。
内容的提问来源于stack exchange,提问作者saltuklev
相关产品推荐
相关产品推荐

