老师好!
我在看到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个值,有什么意义吗?
如果是我理解错误,请予以指正,谢谢!