关于TBquant函数中HighestFC用法的疑惑

老师们好,代码如下:k = LowestBarFC(Low[1],20)+1;h1 = HighestFC(High[k],4);Commentary(\"k=\"+Text(k));Commentary(\"h12=\"+Text(h1));Commentary(\"h11=\"+Text(HighestFC(High[8],4)));我执行上述代码后发现了附件图片的问题——h11与h12的值不同,也就是说k=8,Highest(High[k],4)得到的结果与Highest(High[8],4)的结果不同,请问这种结果不同是什么原因呢?

我猜这是你想要的结果吧OnBar(ArrayRef<Integer> indexs) { k = LowestBarFC(Low[1],10)+1; //h1 = HighestFC(High[k],Length); Integer i; Array<Numeric> arrTmp; Integer Length=4; For i=0 To Length-1 { arrTmp[i] = High[i+k]; } Commentary(\"arrTmp[]= \"+TextArray(arrTmp)); h1 = HighestArray(arrTmp); Commentary(\"k=\"+Text(k)); Commentary(\"h12=\"+Text(h1)); Commentary(\"h11=\"+Text(HighestFC(High[8],Length))); }

回复:的确是我想要的结果,谢谢老师

传参的问题实际上函数是有自己的内部空间的。打个比方,一个公司每天都有报告制度,每天的工作内容要交给一个记录部门留档。本来你每天交的都是当天天的内容,有一天你突然交了昨天的内容,那么检查部门实际上就会连续记录两天一样的内容。一个工作周期结束了,部门开始统计你的工作进度,由于你时不时交错记录,按照这个记录部门的统计结果,自然和你自己的就对不上了

你再看看你的代码