奇狐社區論壇
在這個頁面顯示本主題全部的 2 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題]解決[敵不動,我先動]的問題!(小玩笑,勿介意) (http://www.chiefox.com.tw/bbs/showthread.php?threadid=24203)


由 Markchu7 在 2025-02-26 20:17 發表:

[問題]解決[敵不動,我先動]的問題!(小玩笑,勿介意)

以前請求總版主協助的源碼:
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 在 2025-02-26 21:53 發表:

總版主對不起!
自行嘗試將SS更改為SS:=REF(CKMM13RG,BARSLAST(OLDHX<>REF(OLDHX,1)));

SS:=REF(CKMM13RG,BARSLAST(OLDLX<>REF(OLDLX,1)));
後已將問題解決!感謝!


全部時間均為台灣時間, 現在時間為04:31
在這個頁面顯示本主題全部的 2 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.