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

Pine Script编译错误求助:未声明标识符'NT'

问题解决:Pine Script编译错误及日线级别显示优化

错误原因

代码中ta.change(NT)引用了未声明的变量NT,这是编译失败的直接原因。同时原代码未实现仅在日线级别显示指标的需求。

修正后的完整代码

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

//@version=5
indicator("Option Levels", overlay=true)

// 仅在日线级别运行指标
isDaily = timeframe.isdaily

// 判断是否为当前交易日
isToday = year(timenow) == year(time) and month(timenow) == month(time) and dayofmonth(timenow) == dayofmonth(time)

// 阻力位和支撑位数值
R = 42491.6
S = 42293.85

// 输入选项:启用/禁用无交易区间
showNTZInput = input(true, "NO-TRADE ZONE -", inline="C1")
var color_NTR = input.color(defval=color.new(color.blue, 0), title='阻力位颜色', inline="C1")
var color_NTS = input.color(defval=color.new(color.blue, 0), title='支撑位颜色', inline="C1")
var in_fill = input.bool(true, "填充区间", group='Option Levels', inline="C1")
var NT_colorfill = input.color(color.new(color.red, 80), "无交易区间填充色", inline="C1")

// 绘制阻力位和支撑位,仅满足条件时显示
NTR = plot(showNTZInput and isDaily and isToday ? R : na, title='无交易区间上沿', color=color_NTR, style=plot.style_line, linewidth=2)
NTS = plot(showNTZInput and isDaily and isToday ? S : na, title='无交易区间下沿', color=color_NTS, style=plot.style_line, linewidth=2)

// 填充区间:修复原错误,通过检测线条是否可见决定填充状态
fill(NTR, NTS, color=not na(NTR) and in_fill ? NT_colorfill : color.new(color.blue, 100))

关键修正点

  • 修复编译错误:移除未定义的ta.change(NT)判断,改用not na(NTR)检测线条可见性,控制填充显示
  • 实现日线级别限制:添加timeframe.isdaily判断,仅在日线图表中加载指标
  • 简化逻辑:将isToday判断简化为单行表达式,合并显示条件到plot函数中
  • 优化可读性:给颜色输入项补充明确标题,方便配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:31:43