[問題]解決[敵不動,我先動]的問題!(小玩笑,勿介意)
以前請求總版主協助的源碼:
DBCK:=IF(DATATYPE>5 AND DATATYPE<10,BARPOS=1,(DATATYPE<>12 AND ISREGULARFBAR) OR TRADEDATE<>REF(TRADEDATE,1) OR BARPOS=1 OR (DATATYPE=12 AND TIME=084520)),LINETHICK;
CKSP:=BARSLAST(DBCK)+1,LINETHICK;
CKMM13:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=13,CKSP,13),13),LINETHICK;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CKMM13RG:MA(H-L,CKMM13),COLOR000000,LINETHICK;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
OLDHX:HHV(H,45),COLOR00FF00,LINETHICK1;
NEWHX: OLDHX*0 COLORBLUE linethick2;
StNoHX:=lbound(OLDHX); SS:=CKMM13RG;
for i=StNoHX to datacount do begin
if i=StNoHX or DBCK[i] then NowNEWHX:=OLDHX[i];
if i>=lbound(SS) then begin
if ABS(OLDHX[i]-NowNEWHX)>SS[i] then NowNEWHX:=OLDHX[i];
end;
NEWHX[i]:=NowNEWHX;
end;
OLDLX:LLV(L,45),COLORFF00FF,LINETHICK1;
NEWLX: OLDLX*0 COLORRED linethick2;
StNoLX:=lbound(OLDLX); SS:=CKMM13RG;
for i=StNoLX to datacount do begin
if i=StNoLX or DBCK[i] then NowNEWLX:=OLDLX[i];
if i>=lbound(SS) then begin
if ABS(OLDLX[i]-NowNEWLX)>SS[i] then NowNEWLX:=OLDLX[i];
end;
NEWLX[i]:=NowNEWLX;
end;
如附圖中的圓圈處,OLDLX並未變動但是NEWLX卻有所變動!應該是CKMM13RG的緣故(個人的理解啦)!
不知能否修正為-->OLDHX,OLDLX有所變動時,達到條件NEWHX,NEWLX才做變動?
感謝總版主!
Markchu7 附帶上了此圖片:
|