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

Pine Script技术问询:在单图表中获取多标的行情信息

Pine Script 获取非主标的行情信息方案

首先明确:Pine Script目前没有内置API能直接获取图表上所有叠加的非主标的行情或syminfo信息,这是平台的设计限制——当前运行的指标/策略仅绑定主图表标的,其他叠加标的仅作为视觉对比,无法被脚本主动感知。

可行替代方案

1. 硬编码标的代码获取行情

使用request.security()函数手动指定标的代码,获取对应行情数据。示例:

// 获取GBPUSD的收盘价
gbpClose = request.security("FX:GBPUSD", timeframe.period, close)
plot(gbpClose, color=color.red, title="GBPUSD Close")

缺点:需要提前知道标的代码,无法动态适配图表上新增的标的。

2. 让用户手动选择标的(灵活度更高)

用input.symbol()创建输入框,允许用户随时选择或更换需要获取的非主标的,无需修改代码。示例:

// 创建标的选择输入框
secondarySymbol = input.symbol("FX:GBPUSD", title="Secondary Symbol")
// 获取该标的收盘价
secondaryClose = request.security(secondarySymbol, timeframe.period, close)
// 绘制行情线
plot(secondaryClose, color=color.blue, title="Secondary Symbol Close")

3. 支持多个对比标的

如果需要同时获取多个非主标的数据,可以创建多个输入框,逐个获取并展示:

// 多个标的输入框
sym1 = input.symbol("FX:GBPUSD", title="Symbol 1")
sym2 = input.symbol("FX:USDJPY", title="Symbol 2")
sym3 = input.symbol("FX:AUDUSD", title="Symbol 3")

// 获取各标的收盘价
close1 = request.security(sym1, timeframe.period, close)
close2 = request.security(sym2, timeframe.period, close)
close3 = request.security(sym3, timeframe.period, close)

// 分别绘制
plot(close1, color=color.red, title=sym1)
plot(close2, color=color.blue, title=sym2)
plot(close3, color=color.green, title=sym3)

注意事项

  • 所有通过request.security()获取的数据,需要确保标的代码格式正确(比如外汇要加FX:前缀,股票加对应交易所前缀)。
  • 若需要完全自动识别图表上新增的叠加标的,目前没有实现可能,这属于TradingView Pine Script API的功能限制,官方文档中确实无相关接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:03:10