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

TradingView利差品种报错Cannot get a 'ticker' of a spread symbol求助

错误原因

利差(spread)类型标的不支持syminfo.ticker属性调用,你当前代码无论标的类型,都会先执行syminfo.prefix+":"+syminfo.ticker的拼接逻辑,所以遇到利差品种时直接触发报错,和后续的条件判断逻辑无关。

修复方案

利用Pine Script三元运算符的惰性求值特性,仅在非利差标的时执行标的代码拼接和security请求,利差品种直接返回当前图表的OHLC数据即可,完全规避对syminfo.ticker的无效调用。

修复后完整代码

//@version=4
study("spread", overlay=true)

var float close_lock    = na
var float open_lock     = na
var float high_lock     = na
var float low_lock      = na

// 仅非利差标的时执行security请求,利差标的直接取当前OHLC
[o, h, l, c] = syminfo.type != 'spread' ? security(syminfo.prefix+":"+syminfo.ticker , timeframe.period , [open, high, low, close] ,barmerge.gaps_off, barmerge.lookahead_on) : [open, high, low, close]

if (syminfo.type != 'spread')
    close_lock   := c
    open_lock    := o
    high_lock    := h
    low_lock     := l
else
    close_lock   := close 
    open_lock    := open 
    high_lock    := high 
    low_lock     := low 

plot(close_lock)

验证效果

  • 普通标的切换至HA、Renko、Kagi等特殊图表类型时,仍可正常获取原生K线的OHLC数据
  • 利差品种运行时无报错,直接调用当前图表自带的OHLC数据,符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:27:05