最高价 "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)