老师们好,代码如下:
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)));
}
的确是我想要的结果,谢谢老师
传参的问题
实际上函数是有自己的内部空间的。
打个比方,一个公司每天都有报告制度,每天的工作内容要交给一个记录部门留档。本来你每天交的都是当天天的内容,有一天你突然交了昨天的内容,那么检查部门实际上就会连续记录两天一样的内容。
一个工作周期结束了,部门开始统计你的工作进度,由于你时不时交错记录,按照这个记录部门的统计结果,自然和你自己的就对不上了
你再看看你的代码