hld[n]:=0;
for i=n+1 to DATACOUNT do begin
IF FpC[i]>mhn[i-1] then hld[i]:=1;
else
IF FpC[i]<mln[i-1] then hld[i]:=-1;
else
hld[i]:=hld[i-1];
end;
转换为程序化交易,逐K模式。该如何改?
还有这个改:fc:=c;fo:=o;cc:0*c,LINETHICK0;oo:0*c,LINETHICK0;t1:=0*c;t2:=0*c;
for i=1 to datacount do begin
if i=1 and fc[i]>fo[i] then
cc[i]:=fc[i];
oo[i]:=fc[i];
if i=1 and fc[i]<fo[i] then
cc[i]:=fc[i];
oo[i]:=fc[i];
if i>1 then
cc[i]:=cc[i-1];
oo[i]:=oo[i-1];
if i>1 and fc[i]>cc[i]*(1+n/100) then begin
cc[i]:=cc[i-1]*(1+n/100);
oo[i]:=cc[i-1];
end;
if i>1 and fc[i]<oo[i]/(1+n/100) then begin
oo[i]:=oo[i-1]/(1+n/100);
cc[i]:=oo[i-1];
end;
if oo[i]=oo[i-1] then
t1[i]:=t1[i-1]+1;
if cc[i]=cc[i-1] then
t2[i]:=t2[i-1]+1;
end;
o1:=ref(oo,t1+1);
c1:=ref(cc,t2+1);
N:=2;
fc:=c;fo:=o;cc:0*c,LINETHICK0;oo:0*c,LINETHICK0;t1:=0*c;t2:=0*c;
for i=1 to datacount do begin
if i=1 and fc[i]>fo[i] then
cc[i]:=fc[i];
oo[i]:=fc[i];
if i=1 and fc[i]<fo[i] then
cc[i]:=fc[i];
oo[i]:=fc[i];
if i>1 then
cc[i]:=cc[i-1];
oo[i]:=oo[i-1];
if i>1 and fc[i]>cc[i]*(1+n/100) then begin
cc[i]:=cc[i-1]*(1+n/100);
oo[i]:=cc[i-1];
end;
if i>1 and fc[i]<oo[i]/(1+n/100) then begin
oo[i]:=oo[i-1]/(1+n/100);
cc[i]:=oo[i-1];
end;
if oo[i]=oo[i-1] then
t1[i]:=t1[i-1]+1;
if cc[i]=cc[i-1] then
t2[i]:=t2[i-1]+1;
end;
o1:=ref(oo,t1+1);
c1:=ref(cc,t2+1);
QDL:if(c1=oo,o1,c1);