“过去 n 天”的最高点,而不是“n 天前”

sun*_*ore 3 pine-script

如果我想将今天的收盘价与过去 4 天的最高价进行比较,格式是什么?我用过了

_hi = close > high[4] ? 1 : 0
Run Code Online (Sandbox Code Playgroud)

但这仅计算 4 天前的高点,而不是两者之间的天数。我试过了

_hi = close > high[1,2,3,4] ? 1 : 0
Run Code Online (Sandbox Code Playgroud)

错误信息

Bar*_*kut 5

您可以highest()为此目的使用。

highest(source, length) ? series

不过你需要小心。close > highest(close, 4)永远不可能true。因为,如果当前柱线的收盘价是这 4 根柱线中最高的,highest()将返回当前柱线的收盘价。因此,该检查将是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=green, size=size.small, transp=40)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明