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

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


由 Markchu7 在 2012-06-11 10:51 發表:

[問題]條件成立才取值

CK:=REF(DATE,1)<>DATE;
SP:=BARSLAST(CK)+1;
SPXH:=HHV(H,SP);
強:AA+NH,COLORRED,LINETHICK;
飆:AA+NH*2,COLORRED,LINETHICK;
下列寫法不行,請問要如何處理?
1.SP>6,才取強的值,
IF SP>6 THEN 強:AA+NH,COLORRED,LINETHICK;
2.SPXH>強,才取飆的值,
IF SPXH>強 THEN飆:AA+NH*2,COLORRED,LINETHICK;


由 cgjj 在 2012-06-11 13:57 發表:

回覆: [問題]條件成立才取值

引用:
最初由 Markchu7 發表
CK:=REF(DATE,1)<>DATE;
SP:=BARSLAST(CK)+1;
SPXH:=HHV(H,SP);
強:AA+NH,COLORRED,LINETHICK;
飆:AA+NH*2,COLORRED,LINETHICK;
下列寫法不行,請問要如何處理?
1.SP>6,才取強的值,
IF SP>6 THEN 強:AA+NH,COLORRED,LINETHICK;
2.SPXH>強,才取飆的值,
IF SPXH>強 THEN飆:AA+NH*2,COLORRED,LINETHICK;



SP 和 SPXH 都為數列
且其數列的值會隨K棒而改變
故用數列來決定那個變數是否要輸出, 是不洽當的

硬要做, 也非不可行, 搭配 SYSPARAM(1) 即可
雖可輸出, 但輸出的變數不可被引用(因為不固定輸出)

問題標題是寫 "條件成立才取值" 內容卻是 "選擇性輸出"
您實際是要那一個呢?


由 Markchu7 在 2012-06-12 09:22 發表:

是選擇性輸出sorry因為沒有程式寫作的底子故對問題描述不適當請見諒!


由 cgjj 在 2012-06-12 11:15 發表:

引用:
最初由 Markchu7 發表
是選擇性輸出sorry因為沒有程式寫作的底子故對問題描述不適當請見諒!


換個方式
不要不輸出, 換給零值, 這樣可避免運用 SYSPARAM
應用上應該也Ok

CK:=REF(DATE,1)<>DATE;
SP:=BARSLAST(CK)+1;
SPXH:=HHV(H,SP);
強:if(SP>6,AA+NH,0) COLORRED LINETHICK;
飆:if(SPXH>強 and 強>0,AA+NH*2,0) COLORRED LINETHICK;


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


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

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