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

Pine Script代码报错:未声明标识符'long_above',求可编译修改

Pine Script 报错修复:未声明标识符 'long_above'

问题原因

Pine Script 要求所有变量必须在全局范围内完成初始化。你代码里的long_above和short_below仅在嵌套if代码块内赋值,当条件不满足时变量会处于未定义状态,外部调用时就会触发"Undeclared identifier"错误。

修改后的代码

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nibedit2irtmtc

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

// 提前初始化变量为na(未可用值),确保全局范围内有定义
long_above = na
short_below = na

if high[2] > high[3]
    if low[3] > low[2]
        long_above = high[2]

if high[2] > high[1]
    if low[2] < low[1]
        short_below = low[2]

// 仅当long_above不为na时绘制形状,避免无效绘图
plotshape(ta.crossover(close, long_above) and not na(long_above), style = shape.triangleup, location = location.belowbar, color = color.green)

修改说明

  • 提前用na初始化long_above和short_below,保证变量在任何代码路径下都有定义
  • 在plotshape中添加not na(long_above)判断,避免当long_above未被赋值时绘制无效图形
  • 额外添加location和color参数,让三角形形状显示在K线下方并设置为绿色,提升可视化效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 02:39:59