我需要一些帮助,因为我在电脑前花费了太多时间而无法实现我的想法......
我见过几个脚本在特定时间范围内获得更高价格的示例,但我无法从数据集的整个范围中获得它。
有什么办法吗?
我正在尝试创建一个指标并将每个图表的值标准化,这就是为什么我需要图表中所有蜡烛的最高点和最低点的值。
谢谢!
答案 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)