最高价 "of the last n days",不是 "n days ago"
Highest high "of the last n days", not "n days ago"
如果我想将今天的收盘价与过去 4 天的最高价进行比较,格式是什么?我用过
_hi = close > high[4] ? 1 : 0
但这只计算 4 天前的高点,不包括中间的几天。我试过了
_hi = close > high[1,2,3,4] ? 1 : 0
错误信息
您可以使用 highest()
来达到这个目的。
highest(source, length) → series
不过你需要小心。 close > highest(close, 4)
永远不可能是 true
。因为,如果当前柱的收盘价是这 4 个柱中最高的,highest()
将 return 当前柱的收盘价。因此,该检查将是 close > close
,这永远不会是真的。
您可以执行 close > highest(nz(close[1]), 4)
或 close == highest(close, 5)
(它是 5
,因为当前柱也包括在内。但是您想要比较之前的 4 个柱)。
看看下面的代码和图表。一种使用 close > highest(nz(close[1]), 4)
,另一种使用 close == highest(close, 5)
。如您所见,输出是相同的。
//@version=3
study(title="Compare 2", overlay=true)
_hi = close > highest(nz(close[1]), 4)
plotshape(series=_hi, title="_hi", text="hi", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, transp=40)
如果我想将今天的收盘价与过去 4 天的最高价进行比较,格式是什么?我用过
_hi = close > high[4] ? 1 : 0
但这只计算 4 天前的高点,不包括中间的几天。我试过了
_hi = close > high[1,2,3,4] ? 1 : 0
错误信息
您可以使用 highest()
来达到这个目的。
highest(source, length) → series
不过你需要小心。 close > highest(close, 4)
永远不可能是 true
。因为,如果当前柱的收盘价是这 4 个柱中最高的,highest()
将 return 当前柱的收盘价。因此,该检查将是 close > close
,这永远不会是真的。
您可以执行 close > highest(nz(close[1]), 4)
或 close == highest(close, 5)
(它是 5
,因为当前柱也包括在内。但是您想要比较之前的 4 个柱)。
看看下面的代码和图表。一种使用 close > highest(nz(close[1]), 4)
,另一种使用 close == highest(close, 5)
。如您所见,输出是相同的。
//@version=3
study(title="Compare 2", overlay=true)
_hi = close > highest(nz(close[1]), 4)
plotshape(series=_hi, title="_hi", text="hi", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, transp=40)