请找到计算超趋势指标的代码
study("VJ2 Supertrend V1.0 - Buy or Sell Signal", overlay = true)
Factor=input(3.0, minval=1,maxval = 140)
Pd=input(14, minval=1,maxval = 140)
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")
在这里,“TrendUp”变量是基于其在前一个柱“TrendUp[1]”中的值计算的。
因此,它是一个递归计算。
我不明白的是如何计算变量“TrendUp”的第一个值。例如:
- 对于 1 号柱,无法计算 "TrendUp" 的值,因为前一个柱的 "TrendVar" 值不存在
- 对于 2 号柱,无法计算 "TrendUp" 的值,因为 1 号柱的 "TrendVar" 值不存在
- 等等...
一定有我遗漏的东西,因为 SuperTrend 指标工作正常。
有人可以帮忙吗?