You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TradingView中绘制自定义数组存储的第三方数据

你提到的写法不符合Pine Script语法规范,但可以通过array.from()函数实现批量初始化数组,无需逐行调用array.set赋值,完全可以满足大批量第三方数据导入的需求。

正确实现方式

  1. 批量初始化数组
    Pine Script中array.new_*系列函数仅支持传入「初始长度」和「统一初始填充值」,如果要直接填充多组不同的预设值,使用array.from()即可,支持自动推断数据类型,也可以显式转换类型匹配你的需求:
// 直接传入所有预设值完成初始化,示例为int类型数组
var mySeries = array.from(2,6,11,2,4,5,6)
// 如果是资金费率这类浮点型数据,直接传浮点值即可
var fundingFees = array.from(0.0001, -0.0002, 0.0003, 0.0001)
  1. 数组数据绘图
    注意plot()函数不能直接传入数组对象,需要取当前K线对应的数组元素,同时要增加边界判断避免数组越界报错:
// 取出当前K线对应的数据,超出数组长度的K线返回空值不显示
plotVal = bar_index < array.size(mySeries) ? array.get(mySeries, bar_index) : na
plot(plotVal, title="自定义数据", color=color.green)

完整可运行示例(以资金费率绘图为例)

//@version=5
indicator("资金费率可视化", overlay=false, shorttitle="FundingFee")
// 批量导入你的历史资金费率数据
var fundingRates = array.from(0.0001, -0.0003, 0.0002, 0.0005, -0.0001, 0.0003, 0.0004, -0.0002)
// 取值+越界保护
currentFundingRate = bar_index < array.size(fundingRates) ? array.get(fundingRates, bar_index) : na
// 柱形图展示
plot(currentFundingRate, title="资金费率", color=currentFundingRate > 0 ? color.red : color.green, style=plot.style_columns)
hline(0, "零线", color=color.gray)

注意事项

  • 如果你的数据量超过千条,建议把数据整理为csv后通过TradingView的「导入数据」功能直接导入为自定义数据集,调用更方便,无需在代码里硬编码大量数值
  • 注意变量拼写规范,你示例中的mySerise为拼写错误,正确拼写为mySeries,避免后续调用时报错

内容的提问来源于stack exchange,提问作者rainssong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:24:06