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

Pine Script V4/V5添加市值标签触发Resolve_error "FUND"报错如何解决

问题解决办法

报错原因

Resolve_error "FUND"报错触发的核心原因是financial()函数的使用限制:TradingView的基本面数据接口仅支持股票、部分公募基金、ETF品类,加密货币、外汇、期货品类没有对应的TOTAL_SHARES_OUTSTANDING(总流通股数)字段,调用不存在的基本面字段时就会触发该错误。

解决方案

如果你的使用场景是加密货币品类,TradingView已经内置了市值数据字段,无需自己通过总流通量乘收盘价计算,直接调用syminfo.marketcap即可。

修改后的V4版本代码

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

// 直接调用内置市值字段
MarketCap = syminfo.marketcap
// 处理空值情况
displayCap = na(MarketCap) ? "无市值数据" : tostring(MarketCap, "##.###")

label MarketCapL = label.new(time, close, text="  MarketCap | " + displayCap,color=color.new(color.white,90), xloc= xloc.bar_time, style=label.style_none, textcolor= color.new(color.white,0), textalign=text.align_left)
label.set_x(MarketCapL, label.get_x(MarketCapL)+ round(change(time)* 8))
label.set_y(MarketCapL, (label.get_y(MarketCapL) * 1.100))
label.delete(MarketCapL[1])

适配V5版本代码

//@version=5
indicator("My Script", overlay=true)

MarketCap = syminfo.marketcap
displayCap = na(MarketCap) ? "无市值数据" : str.tostring(MarketCap, "##.###")

var label MarketCapL = na
if barstate.islast
    MarketCapL := label.new(bar_index, close, text="  MarketCap | " + displayCap, color=color.new(color.white,90), style=label.style_none, textcolor=color.white, textalign=text.align_left)
    label.set_x(MarketCapL, label.get_x(MarketCapL) + round(ta.change(time)*8))
    label.set_y(MarketCapL, label.get_y(MarketCapL) * 1.1)
    label.delete(MarketCapL[1])

注意事项

  • 仅TradingView官方收录了市值数据的加密货币对能正常返回数值,部分小众币种没有收录的话会显示「无市值数据」
  • 如果需要适配股票品类,可以加品类判断逻辑,股票场景调用financial()接口,加密货币场景调用内置市值字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:06:07