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

Pine Script中ATR参数修改无响应问题求助

问题排查与解决

问题根源

你的代码中,最终用于判断K线颜色和绘制均线的核心计算((D+E)/2),实际上把ATR相关变量C完全抵消了,导致修改ATRPeriod和ATRFactor不会产生任何影响:

  • D = A - C,E = B + C
  • 两者相加后:D + E = (A - C) + (B + C) = A + B
  • 除以2后结果为(A+B)/2,完全和C(ATR计算值)无关

修正方案

如果你的初衷是让ATR数值影响上下轨(比如生成基于ATR的通道),需要调整D和E的计算逻辑,避免C被抵消。例如,将上轨设为A + C、下轨设为B - C,修正后的代码如下:

indicator("Wave", overlay=true)
Highest = input(high, title="Higher")
Lowest = input(close, title="Lower")
Lookback = input(5, title="Lookback")
ATRPeriod = input(25, title='Length ATR')
ATRFactor = input.float(9.5,title = "ATR Factor", minval = 0.5, step = 0.5)

A=ta.highest(Highest,Lookback)
B=ta.lowest(Lowest,Lookback)
C=ta.atr(ATRPeriod)*ATRFactor

// 调整D和E的计算逻辑,让ATR值生效
D=A+C  // 上轨用A加ATR偏移
E=B-C  // 下轨用B减ATR偏移

barcolor(close>=((D+E)/2)?color.white:color.yellow)

plot(((D+E)/2), color=color.white)
// 可选:绘制上下轨,直观查看ATR的影响
plot(D, color=color.green)
plot(E, color=color.red)

补充说明

如果你的原始需求不是生成通道,而是其他逻辑,需要重新设计D和E的计算方式,确保C(ATR相关值)能参与到最终的判断或绘图计算中,这样修改ATRPeriod和ATRFactor才会产生预期变化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:47:01