有一个策略,图表显示K线根数大于5500根时数据正常,较低的k线根数,如5000以下时数据错误。
解决了,但K线根数影响计算结果的情况仍在,只是绕过去了
写了那么多 出问题的明明是alots 但是alots的算式却没看到 这怎么回答?
问题出在Series<Numeric>上
ma7=Average(Close,120);
if(Close<ma7)
当K线根数少于一定值时上面的判断出问题
自己写的公式有问题,一般来说还是自己找找原因吧。发到论坛,又不给出公式中alots的计算逻辑,这谁也帮不了你啊
Series<Numeric> ma7;
ma7=Average(Close,120);
if(Close<ma7);
已经找到问题并写出来了,上面的if(Close<ma7);当K线根数少于一定数量时,if(Close<ma7);判断不出来,导致后续的计算出错。
而使用if(Close<Average(Close,120));后续计算正确。是不是不能用Series<Numeric>声明,这个函数有最少K线根数要求,并且不同品种,最少K线根数不同。
或者应该用哪个函数进行声明
K线根数小于指标计算所需要的根数时,最好啥也别做,直接return
这个可通过函数MaxBarsBack获知至少需要多少根K线
MaxBarsBack获取的是很小的一个数,一般不超过1000根,而Series<Numeric>有些品种需要6000根以上,有些需要1万根以上。否则,K先根数不足时,计算数值时没问题,参与大小判断,然后再计算其他数值会出现问题
再问与Series<Numeric>类似的函数还有哪些
不是Series<Numeric>的问题,但与K线根数相关
与Average这个函数有关
K线根数不同,左侧alots的输出数据不同