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

请求排查:Trading View中TR<ATR时蜡烛变蓝指标代码无效问题

修正后的TR<ATR蜡烛变色指标代码

原代码的问题点:

  • TR计算错误:真实波幅(TR)的正确定义是取「当前高低点差值」「当前高点与前收盘价差值的绝对值」「当前低点与前收盘价差值的绝对值」这三者的最大值,而非将高低差与另外两个值的最大值相加。
  • ATR计算错误:math.avg(tr, 14) 是对当前TR值和数字14做平均,并非计算14周期的平均真实波幅。ATR需要对过去N期的TR值做移动平均,应使用专门的移动平均函数。
  • plotcandle参数顺序错误:TradingView的plotcandle()函数参数顺序为open, high, low, close,原代码顺序写反,导致蜡烛形态异常,颜色逻辑无法正常触发。

修正后的代码:

//@version=5
indicator("TR < ATR Color Change", overlay=true)

// 使用内置函数获取正确的TR值,也可以手动计算:tr = math.max(high-low, math.abs(high-close[1]), math.abs(low-close[1]))
tr = ta.tr()

// 计算14周期ATR(内置函数直接获取,或用ta.sma(tr,14)做简单移动平均)
atr = ta.atr(14)

// 定义蜡烛颜色逻辑
candle_color = tr < atr ? color.blue : color.maroon

// 正确参数顺序绘制蜡烛,可单独设置wick颜色(比如用灰色区分主体)
plotcandle(open, high, low, close, color=candle_color, wickcolor=color.gray)

代码说明:

  1. 用ta.tr()直接获取符合定义的真实波幅,避免手动计算出错;
  2. 用ta.atr(14)直接计算14周期的平均真实波幅,这是TradingView内置的标准ATR计算方式;
  3. 修正plotcandle的参数顺序,确保蜡烛形态正确;
  4. 可单独设置烛芯颜色(示例用灰色),让蜡烛主体颜色变化更醒目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:45:18