Pine Script持仓量指标CME日度CFTC周度紫色线不显示及getCntrct疑问
Pine Script 指标问题排查与解决
问题背景
- 使用者为R语言开发者,刚接触Pine Script语言
- 涉及指标为 Open Interest:CME e-o-d vs CFTC e-o-w
遇到的问题
1. 合约总持仓量紫色线无法显示
对应绘图代码如下:
plot(OiSum>0?OiSum:na, color=purple, title="CME e-o-d 9 cntrcts sum", linewidth=3,offset=OffSet)
初步推测故障原因为对应合约数据未采集。
2. 自定义函数逻辑无法理解
找不到自定义函数getCntrct的相关说明,无法梳理其运行逻辑。
解决方案
紫色线不显示问题排查步骤
- 确认当前加载指标的品种属于CME交易所的指定期货品类,该指标仅适配CME的9类特定期货合约,其他品类无法返回有效持仓数据
- 检查指标参数设置中的
OffSet偏移值是否过大,导致曲线被偏移到当前可视K线范围之外 - 确认当前图表时间周期为日线级别,该指标的CME持仓数据为日更频率,小时及以下级别周期不会返回有效数值
- 可临时修改绘图代码为
plot(OiSum, color=purple, title="CME e-o-d 9 cntrcts sum", linewidth=3,offset=OffSet),若输出曲线值恒为0即可确认是数据采集缺失问题
getCntrct函数逻辑说明
该函数为指标作者自定义的工具函数,未对外单独提供说明文档,你可以直接在指标源码中搜索函数名查看完整实现。其核心逻辑为:接收合约代码后缀作为入参,拼接生成完整的合约交易对ID,从TradingView底层数据库调取对应合约的每日持仓量数值作为出参返回。
内容的提问来源于stack exchange,提问作者Andrey Balashov
相关产品推荐
相关产品推荐

