close每根K线都不同,形成一系列值,如何每间隔3根K线取一个close值形成一个新的序列?
假设K线的收盘价值序列为: 1,2,3,4,5,6,7,8,9,
希望得到新的序列数为:3,6,9,
不想得到这样的序列数:0,0,3,0,0,6,0,0,9
我试图用下面的方法来取这个值,但无论如何,b 的值输不出来,或是输出来的值是不对的。求改进或其它方法输出正确的这个值。
a:=close;
if mod(todaybars,3)=0 then b:=a;
第一个序列值是从上市以来的close值,而想要得到的序列数也会有很多个,所以,试图用有限个取值的解决方法似乎是不可取的,比如使用
ref 然后 if 嵌套
RUNMODE:0;
VARIABLE :x[]=0; //空数组
if barpos % 3 = 0 THEN
BEGIN
x:=close; //对数组赋值,每次都添加到后面
end;
if ISLASTBAR then
msgout(1,numtostr(UBOUND(x),0));
通过上面的方式可以输出来,但无法在其它语句中调用用于运算,如果 有其它实现方式实现这个值输出序列值就太好了。