在使用系统自带的lowest函数时发生了以下错误,请教一下怎么解决?
工作区和公式文件 https://yunpan.360.cn/surl_ykFX2MtyUf9 (提取码:f5f3)
谢谢!
您好!您反馈的这个问题是TB量化中一个常见问题——序列函数问题,TB的很多视频课程里一定会提到这个问题的。
既然发帖问到,就顺带解释下。因为量化交易所需要的序列数据,是和一根根BAR关联的,所以基于序列数据的函数,也必须保证每根BAR中都有正确的值,否则函数计算返回的值就有可能发生错误,这个问题就是TB里的序列函数问题。所以只要是函数中用到了序列变量或序列参数的就是序列函数,或者函数内部调用了序列函数的也是序列函数。
回到您的代码,只在CurrentBar==5才会调用Lowest这个函数,所以这个函数内部的序列数据是不完整的。这是导致数据看起来错误的原因。
正确的写法是:
保证Lowest函数在每根BAR都会执行,结果放到一个普通变量中,再用条件语句去显示,这样就不会出现您说的错误问题了。