TB语法精要里面的一行关于highest函数的代码

老师好! 我在看到TB语法精要--TB语言--参数与变量这文章里的一段示例代码,无法理解,麻烦指点下。 Vars Bool Con1(False); events OnBar(ArrayRef<Integer> indexs) { Con1 = High > Highest(High,10)[1]; If(Con1) { Alert("New 10-bar high"); } } 其中的函数 highest()为何后面还能跟一个[1] ? highest 按照函数文档的说明,此函数是numeric类型,为何能和数组一样带下标呢? 谢谢!

@kyover Vars Bool Con1(False); events OnBar(ArrayRef<Integer> indexs) { Con1 = High > Highest(High[1],10); If(Con1) { Alert("New 10-bar high"); } } 谢谢老师解答, 现在我看到修改了。 但是修改后的函数,这样用是对的吗? 改成这样: Highest(High[1],10) 其中 ,High[1] 不是只表示前一根k线的最高价吗,那么对一根k线的价格进行highest函数取10个值,有什么意义吗? 如果是我理解错误,请予以指正,谢谢!

回复:就是取过去10根bar的high,第一根从上一根开始取 你可以plot一下分别用high和high[1]画出来的曲线 看看区别就知道了

感谢勘误,这个写法是错误的,函数后面不能加上[]表示回溯,已经转告产品同事

回复:Vars Bool Con1(False); events OnBar(ArrayRef<Integer> indexs) { Con1 = High > Highest(High[1],10); If(Con1) { Alert("New 10-bar high"); } } 谢谢老师解答, 现在我看到修改了。 但是修改后的函数,这样用是对的吗? 改成这样: Highest(High[1],10) 其中 ,High[1] 不是只表示前一根k线的最高价吗,那么对一根k线的价格进行highest函数取10个值,有什么意义吗? 如果是我理解错误,请予以指正,谢谢!