一个类似于close一样的序列变量flag=[...1 2 0 -1 0 0 3 0 -1 -2]
我要找前面不等于0的20个数字~求个和值sum~怎么弄?
逐周期模式的...
f:=0;
addsum:=0;
for i=datacount downto 1 do
if not(flag[i]=0) then begin
addsum:=addsum+flag[i];
f:=f+1;//记录不为0的个数
end
if f=20 then break;
s_flag:addsum,linethick0;
=========================
这样好像不行
有些是序列模式的写法...需要转换回序列模式..
也可以把问题转换一下~
逐周期模式下
求满足前面最近20个不等于0的flag到当前的周期数...
哪位有好点的算法...??
首先算出第一次出现20个不为0的开始日期
然后用while语句
比如用收盘价,那么从第21根K线开始算起
if barpos>20 then begin
num:=0;
zongshu:0;
i:=1;
while num<20 do begin
if c[barpos-i]<>0 then begin
zongshu:=zongshu+c[barpos-i];
num:=num+1;
end
i:=i+1;
end
end
//将f,addsum两个变量设置为全局变量
variable:f=0,addsum=0;
for i=datacount downto 1 do
if not(flag[i]=0) then begin
addsum:=addsum+flag[i];
f:=f+1;//记录不为0的个数
end
if f=20 then break;
s_flag:addsum,linethick0;
=========================