Highest函数嵌套High[变量]时系统识别是不是会出问题?
本来想做一个判断w底的小程序,但是死在Highest(high[变量],周期)上面了原代码如下:Params Numeric MA5(5); //周期5日Vars NumericSeries bottom1; //回滚周期10根bar的前5根底部价 NumericSeries bottom2; //回滚周期10根bar的后5根底部价 NumericSeries checking1; //回滚周期10根bar的第5根最低价 NumericSeries checking2; //回滚周期10根bar的第10根最低价 NumericSeries checking3; //bottom2所在bar的最高价 NumericSeries spike; //bottom1和bottom2之间众bar的颈线值Begin checking1=Low[5]; checking2=low; PlotNumeric(\"checking1\",checking1); //返回值,方便界定头五根位置 PlotNumeric(\"checking2\",checking2); //返回值,方便界定后五根位置 bottom1=LowestBar(checking1,5); bottom2=LowestBar(checking2,5); PlotNumeric(\"bottom1\", bottom1); //返回值,确定前底位置 PlotNumeric(\"bottom2\", bottom2); //返回值,确定后底位置 checking3=High[bottom2]; spike=Highest(High[bottom2],bottom1+5-bottom2+1); PlotNumeric(\"checking3\",checking3); //返回值,确定bottom2位置 PlotNumeric(\"spike\", spike); //返回值,确定bottom1和bottom2之间众bar的顶部价 End——————————————————————————编译是可以编译成功,但实际回测时,‘spike=Highest(High[bottom2],bottom1+5-bottom2+1); ‘这段代码输出值有问题,以标的品种sa2305为例,频率切到日线,2022年8月10日的spike值是2208(实际正确值应当为2256),排查后发现是High[bottom2]中的bottom2有问题,当日的bottom2值为3,如果把出错代码手动改写成‘spike=Highest(High[3],bottom1+5-bottom2+1); ‘,spike值就是正确的2256,但用原版代码死活就是2208,求问各位前辈有无办法解决这个问题?