网友求助:
希望以20天为周期往回倒,在每周期的最高、最低点位置显示相应的数值,代码为:
TK:=MOD((datacount-barpos),20)+1=20;
a:=sum(tk,0);
tk1:=tk=1 and a<>ref(a,1);
ZQ:=BARSLAST(TK1)+1;
VERTLINE(tk);
HH:=HHV(H,ZQ);
LL:=LLV(L,ZQ);
drawnumber(h=hh,h*1.05,hh,2);
drawnumber(l=ll,l*0.95,ll,2);
解答如下:
代码:
DW:=MOD(DATACOUNT-BARPOS+1,20)=1;VERTLINE(DW);
HM:=C*0; LM:=HM;HH:=H;LL:=L;
FOR I=DATACOUNT DOWNTO 1 DO BEGIN
IF DW[I] THEN BEGIN
HD:=HH[I]; LD:=LL[I];
HDP:=I; LDP:=I;
END ELSE BEGIN
IF HH[I]>HD THEN BEGIN
HD:=HH[I]; HDP:=I;
END ELSE IF LL[I]<LD THEN BEGIN
LD:=LL[I]; LDP:=I;
END;
END;
IF DW[I-1] THEN BEGIN
HM[HDP]:=1;LM[LDP]:=1;
END;
END;
DRAWNUMBER(HM,H,H,2) PXUP20;
DRAWNUMBER(LM,L,L,2) PXDN20;