如何用TradingView Pine Script实现外部数据点的图表绘制?
用Pine Script绘制外部数据点的实现方法
完全可以实现,下面是两种最常用的落地方案:
方案一:通过TradingView的CSV导入功能
这是处理本地日期-数值数据最直接的方式:
- 整理CSV文件,格式需符合要求:首行是表头,必须包含
time字段(日期时间支持YYYY-MM-DD或带时分秒的格式),以及至少一个数值列(比如value),示例格式:
time,value 2024-01-01,150.2 2024-01-02,152.5 2024-01-03,149.8
- 在TradingView的指标编辑器中,点击顶部「导入」→「导入CSV文件」,上传文件后完成字段映射(将
time关联到时间轴,数值列关联对应数据)。 - 在Pine Script中调用导入的数据集,通过匹配时间轴绘制标记:
//@version=5 indicator("外部数据标记", overlay=true) // 调用导入的CSV数据集(my_external_data为你导入时命名的数据集) external_val = request.security("csv://my_external_data", timeframe.period, close) external_time = request.security("csv://my_external_data", timeframe.period, time) // 匹配当前K线时间,绘制标签标记 if time == external_time plotshape(series=external_val, title="外部数据点", location=location.belowbar, color=color.red, style=shape.labelup, text=tostring(external_val))
方案二:通过自定义数据Feed(适配远程/实时数据源)
如果数据存储在远程服务器(如API接口),可通过TradingView的「自定义数据Feed」功能配置数据源,之后在Pine Script中用request.security()调用该数据源,再执行和上述一致的绘制逻辑即可。
注意事项
- 日期时间格式必须和TradingView的时间轴匹配,否则无法正确对齐K线。
- 零散数据点推荐用
plotshape()绘制标签/形状;连续数据则用plot()绘制线条。
内容的提问来源于stack exchange,提问作者cornisto
相关产品推荐
相关产品推荐

