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

奇狐社區論壇 (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=15251)


由 L0123 在 2011-03-10 14:51 發表:

輸出顯示的語法求助

出現語法錯誤求助:

IF BBP>0 then begin //有空倉時 BBP=0 有多倉時 BBP就是買多價。
作多價:BBP,COLORMAGENTA,LINETHICK0; //空倉時不顯示(輸出)

end else IF BZP>0 then begin
多制損價:BZP,COLORMAGENTA,LINEDOT,LINETHICK0; //有空倉時 BZP=0 有多倉時 BZP就是停損價。 //空倉時不顯示(輸出)


end else IF SSP>0 then begin //有多倉時 SSP=0 有空倉時 SZP就是買空價。
作空價:SSP,COLOR009900,LINETHICK0; //多倉時不顯示(輸出)

end else IF SZP>0 then begin //有多倉時 SZP=0 有空倉時 SZP就是停損價。
空制損價:SZP,COLOR009900,LINEDOT,LINETHICK0; //多倉時不顯示(輸出)
END;


由 cgjj 在 2011-03-10 15:51 發表:

回覆: 輸出顯示的語法求助

引用:
最初由 L0123 發表
出現語法錯誤求助:

IF BBP>0 then begin //有空倉時 BBP=0 有多倉時 BBP就是買多價。
作多價:BBP,COLORMAGENTA,LINETHICK0; //空倉時不顯示(輸出)

end else IF BZP>0 then begin
多制損價:BZP,COLORMAGENTA,LINEDOT,LINETHICK0; //有空倉時 BZP=0 有多倉時 BZP就是停損價。 //空倉時不顯示(輸出)


end else IF SSP>0 then begin //有多倉時 SSP=0 有空倉時 SZP就是買空價。
作空價:SSP,COLOR009900,LINETHICK0; //多倉時不顯示(輸出)

end else IF SZP>0 then begin //有多倉時 SZP=0 有空倉時 SZP就是停損價。
空制損價:SZP,COLOR009900,LINEDOT,LINETHICK0; //多倉時不顯示(輸出)
END;



BBP, SSP, SZP 三者都是數列
數列的值會隨歷史K棒變化, 不能設置某段K棒要輸出某段不要輸出變數
除非搭配十字游標(以目前K棒為準來決定)

此外 IF .... THEN 之判斷式, 其不可為數列, 需為單值或是數列中的單一元素


由 L0123 在 2011-03-10 19:03 發表:

回覆: 回覆: 輸出顯示的語法求助

引用:
最初由 cgjj 發表
BBP, SSP, SZP 三者都是數列
數列的值會隨歷史K棒變化, 不能設置某段K棒要輸出某段不要輸出變數
除非搭配十字游標(以目前K棒為準來決定)

此外 IF .... THEN 之判斷式, 其不可為數列, 需為單值或是數列中的單一元素



收到 感謝回覆 真多謝!!


由 L0123 在 2011-03-11 15:07 發表:

回覆: 回覆: 回覆: 輸出顯示的語法求助

引用:
最初由 L0123 發表
收到 感謝回覆 真多謝!!



請問
不用 IF 的判斷式寫法 改用其他的寫法可以做到嗎? 請指導 謝謝!!


由 cgjj 在 2011-03-14 10:39 發表:

回覆: 回覆: 回覆: 回覆: 輸出顯示的語法求助

引用:
最初由 L0123 發表
請問
不用 IF 的判斷式寫法 改用其他的寫法可以做到嗎? 請指導 謝謝!!



不是不能用 IF

若您
搭配十字游標, 則可以按目前K棒位置的值
來決定是否顯示該變數

例如:
if 陣列[n] >0 then .....
其中的 n 是十字游標位置

於執行時期決定變數是否要輸出, 可參考此例
http://www.chiefox.com.tw/bbs/showt...&threadid=10662


由 L0123 在 2011-03-16 00:03 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 輸出顯示的語法求助

引用:
最初由 cgjj 發表
不是不能用 IF

若您
搭配十字游標, 則可以按目前K棒位置的值
來決定是否顯示該變數

例如:
if 陣列[n] >0 then .....
其中的 n 是十字游標位置

於執行時期決定變數是否要輸出, 可參考此例
http://www.chiefox.com.tw/bbs/showt...&threadid=10662



很感恩 總版主的指教 偶試試看能否依樣畫葫蘆 XD


由 cgjj 在 2011-03-16 08:56 發表:

搭配十字游標,處理範例:
其會隨 漲,平,跌 決定輸出那組變數

注意:
這樣處理的公式其中的 漲C,平C,跌C 這三個變數因為輸出不固定
故這三個變數值, 是不能被其他公式所引用

原碼:
EmptyAry:=barslast(barpos=0); 漲C:EmptyAry COLORRED; 平C:EmptyAry COLORGRAY; 跌C:EmptyAry COLORYELLOW; CC:=c; OO:=O; PP:=SYSPARAM(1); if PP<lbound(CC) or PP>datacount then PP:=datacount; if CC[PP]>OO[PP] then begin 漲C:=CC[PP]; end else if CC[PP]=OO[PP] then begin 平C:=CC[PP]; end else if CC[PP]<OO[PP] then begin 跌C:=CC[PP]; end;


若只是為了這需求去動用到 SYSPARAM 是很不值得的
因為 SYSPARAM 需一直追隨十字游標變化重算公式
會因此讓公式跑起來變的遲頓很多


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


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

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