Pine script “最高-最高”;“在过去n天中”;,不是";n天前“;

Pine script “最高-最高”;“在过去n天中”;,不是";n天前“;,pine-script,Pine Script,如果我想将今天的收盘价与过去4天的高点进行比较,格式是什么?我用过 _hi = close > high[4] ? 1 : 0 但这只算4天前的高点,而不是中间的几天。我试过了 _hi = close > high[1,2,3,4] ? 1 : 0 错误消息为此,您可以使用highest() 最高(源代码,长度)→ 系列 不过你需要小心close>highest(close,4)永远不能为true。因为,如果当前条形图的收盘价是这4条条形图中最高的,highest()将返回当前条

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

_hi = close > high[4] ? 1 : 0
但这只算4天前的高点,而不是中间的几天。我试过了

_hi = close > high[1,2,3,4] ? 1 : 0
错误消息

为此,您可以使用
highest()

最高(源代码,长度)→ 系列

不过你需要小心
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)

非常酷,我的朋友,我明白了。我不明白新西兰的用法。我已经在松树手册中读过它的定义,但我不明白它是做什么的。我运行了你的研究,有新西兰和没有新西兰,它的绘图没有任何不同。
nz()
零替换“不是数字”
NaN
值。尝试绘制
关闭[1]
,并转到您能达到的最高时间范围。然后寻找第一个酒吧。它将没有值(NaN)。因为,它是第一个酒吧,
close[1]
正在询问前一个酒吧的收盘价。但在这一点上没有以前的标准。这就是为什么您将得到
n/a
。现在,尝试绘制
nz(关闭[1])
并查找第一个条。这次您将得到一个
0
。因此,
NaN
将替换为
0
。因此,使用
nz()
包装历史值始终是一种良好的做法,因此您的计算应该是安全的。谢谢Baris,现在我明白了。