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

Pine Script 5表格运行时错误:列索引越界问题求助

Pine Script 5表格列索引越界问题排查与解决

出现Column 3 is out of table bounds, number of columns is 3报错,说明你的代码里有一处调用table.cell()时传入了col=3的参数——哪怕你以为只用了0、1、2,大概率是细节上的疏漏,按下面的步骤排查:

  • 检查所有table.cell()调用的col参数
    逐行找代码里的table.cell(),看有没有硬写col=3的情况,或者用变量计算列索引时,变量值意外等于3。比如手滑把col=2写成col=3,或者某个计算列索引的表达式(比如col = someVar + 1)在某些场景下得到3。

  • 排查循环逻辑的边界错误
    如果用循环批量填充单元格,很容易出现循环次数多算一次的问题。比如:

    // 错误示例:循环到3会让colIdx取0、1、2、3
    for colIdx = 0 to 3
        table.cell(myTable, 0, colIdx, "内容")
    

    改成for colIdx = 0 to 2或者for colIdx = 0 for 3(后者表示循环3次,索引从0开始)就能解决。

  • 确认表格列数未被动态修改
    如果你创建表格后调用过table.set_column_count(),可能不小心把列数改成了小于3的数值?不过这个情况报错会是其他列索引越界,优先级低于前两个排查点。

下面是一个能正常运行的3列6行表格示例,你可以对比自己的代码找差异:

//@version=5
indicator("3列6行表格示例", overlay=true)

if barstate.islast
    // 创建3列6行的表格
    demoTable = table.new(position.top_right, columns=3, rows=6)
    
    // 批量填充所有单元格
    for row = 0 to 5
        for col = 0 to 2
            table.cell(demoTable, row, col, str.format("R{0}C{1}", row, col))

如果排查完还是找不到问题,把你的完整代码贴出来,更容易定位具体错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:12:16