如何获得 pinescript 中所有蜡烛的更高的高值和更低的低值?

时间:2021-04-03 20:19:56

标签: pine-script

我需要一些帮助,因为我在电脑前花费了太多时间而无法实现我的想法......

我见过几个脚本在特定时间范围内获得更高价格的示例,但我无法从数据集的整个范围中获得它。

有什么办法吗?

我正在尝试创建一个指标并将每个图表的值标准化,这就是为什么我需要图表中所有蜡烛的最高点和最低点的值。

谢谢!

2 个答案:

答案 0 :(得分:0)

在设定范围内标准化可能更有益,因为您拥有的蜡烛总数是任意的,并且可能因帐户而异。

如果您愿意,可以使用 var 来初始化变量并为其赋值。

var float myHigh = na
var float myLow = na

if na(myHigh)
    myHigh := high
    myLow := low
else
    myHigh := max(myHigh, high)
    myLow := min(myLow, low)

可能有更优雅的解决方案,但请注意,我并没有简单地执行类似 myLow := min(nz(myLow), low) 的操作,因为从 0 生成 na 的值会产生最小值可能会更低高于任何商品的价格。

需要注意的是,如果第一个条形是整个数据集的最高或最低,您必须考虑丢弃该条形时会发生什么。任何依赖于该信息的东西都会重新计算您的归一化。这就是为什么我倾向于使用特定时间来标准化,或者只是从不同的时间范围拉高和低点。您也可以使用带有非常大 p 的 highest(high, p)

答案 1 :(得分:0)

我在某处找到了这个,但再也找不到了。 :)

biggest(series) =>
    max = 0.0
    max := nz(max[1], series)
    if series > max
        max := series
    max

smallest(series) =>
    min = 0.0
    min := nz(min[1], series)
    if series < min
        min := series
    min

plot(biggest(close), color=color.green)
plot(smallest(close), color=color.red)