首页 > 解决方案 > 为什么这个总和不适用于纽约证券交易所 1 个月的高/低数据?

问题描述

我正在试验指标和市场内部数据。下面的脚本试图总结纽约证券交易所 1 个月高点与纽约证券交易所 1 个月低点之间的差异。


//@version=4
study("LFG NYHL")

var nyhlm_sum = float(0)

nyhlm = security("M1HN", timeframe.period, close) - security("M1LN", timeframe.period, close)

nyhlm_sum := nyhlm_sum[0] + nyhlm[0]    // this doesn't work!
// nyhlm_sum := nyhlm_sum[0] + close[0] // this works as expected

plot(nyhlm, title="NYHL1M", style=plot.style_line, linewidth=1, color=color.blue, transp=55)
plot(nyhlm_sum, title="NYHL1M Sum", style=plot.style_line, linewidth=3, color=color.red, transp=55)

按照编码,我没有得到求和系列的情节。但是,如果我将其更改为简单地将当前交易品种的收盘价相加(已注释掉),那么它会按预期相加。

我看不出我在这里做错了什么。

标签: pine-script

解决方案


译者的行为很奇怪,也许值得将这个案例写给Tradingview的技术支持。我无法解释为什么会发生这种情况,也许是因为这些代码仅在每日间隔上才有意义。我建议可行的解决方法。

//@version=4
study("Help (LFG NYHL)")

var nyhlm_sum = float(0)

nyhlm = security("M1HN", timeframe.period, close) - security("M1LN", timeframe.period, close)

//nyhlm_sum := nyhlm_sum[0] + nyhlm[0]    // this doesn't work!
// nyhlm_sum := nyhlm_sum[0] + close[0] // this works as expected
nyhlm_sum := cum(nyhlm)    // this works as expected

plot(nyhlm, title="NYHL1M", style=plot.style_line, linewidth=1, color=color.blue, transp=55)
plot(nyhlm_sum, title="NYHL1M Sum", style=plot.style_line, linewidth=3, color=color.red, transp=55)

推荐阅读