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

Pine Script报错:Extraneous input '0' expecting ']' 求问题定位与修复

Pine Script错误:Extraneous input '0' expecting ']' 修复方案

错误定位

你遇到的错误根源是Pine Script不支持array[idx][0]这种二维数组直接访问语法。你写的pairs = array.new_float(10, 2)只是创建了一个长度为10、每个元素初始值为2的一维float数组,并非二维数组,因此pairs[idx][0]的写法违反语法规范,触发了报错。

修复思路

使用Pine Script的嵌套数组(数组的数组)或元组来存储EMA配对:

  • 嵌套数组:创建主数组存储子数组,每个子数组存放一对EMA值
  • 元组:直接将一对EMA值打包成元组存入数组,写法更简洁

修复后的代码(嵌套数组版本)

//@version=5
indicator("Count EMA Crossovers", overlay=false)

emas = array.new_float(5)
emas[0] := ta.ema(close, 7)
emas[1] := ta.ema(close, 20)
emas[2] := ta.ema(close, 50)
emas[3] := ta.ema(close, 100)
emas[4] := ta.ema(close, 200)

// 创建存储子数组的主数组
pairs = array.new_array()
idx = 0
for i = 0 to 3
    for j = i + 1 to 4
        // 为每对EMA创建子数组并赋值
        pair_arr = array.new_float(2)
        array.set(pair_arr, 0, emas[i])
        array.set(pair_arr, 1, emas[j])
        // 将子数组添加到主数组
        array.push(pairs, pair_arr)
        idx += 1

count = 0
for pair in pairs
    // 取出子数组中的两个EMA值
    ema_short = array.get(pair, 0)
    ema_long = array.get(pair, 1)
    if ema_long > ema_short
        count += 1

plot(count, title="Count Cross", color=color.blue, style=plot.style_histogram)

简化版本(元组实现)

如果不想用嵌套数组,可以用元组简化代码:

//@version=5
indicator("Count EMA Crossovers", overlay=false)

emas = array.new_float(5)
emas[0] := ta.ema(close, 7)
emas[1] := ta.ema(close, 20)
emas[2] := ta.ema(close, 50)
emas[3] := ta.ema(close, 100)
emas[4] := ta.ema(close, 200)

// 创建存储元组的数组
pairs = array.new_tuple()
for i = 0 to 3
    for j = i + 1 to 4
        // 将一对EMA打包成元组存入数组
        array.push(pairs, tuple(emas[i], emas[j]))

count = 0
for pair in pairs
    // 从元组中提取两个EMA值
    ema_short = tuple.get(pair, 0)
    ema_long = tuple.get(pair, 1)
    if ema_long > ema_short
        count += 1

plot(count, title="Count Cross", color=color.blue, style=plot.style_histogram)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:22:15