![]() |
在這個頁面顯示本主題全部的 5 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- IF ... THEN ... ELSE 的問題 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=5000)
IF ... THEN ... ELSE 的問題
TOHLC 的參數 N=2 時
為何會同時出現 OO & CC , 應該只有 CC 才對 ??
因為無法上傳圖檔 , 所以上傳 測試公式 TOHLC.ALG
IF N=1 THEN BEGIN
OO : O;
CC := C;
END;
ELSE
IF N=2 THEN BEGIN
OO := O;
CC : C;
END;
這問題與下列連結的問題屬同一類
近期升級會修正此 Bug
http://www.chiefox.com.tw/bbs/showt...=&threadid=4908
回覆: IF ... THEN ... ELSE 的問題
引用:
最初由 fox1688 發表
IF N=1 THEN BEGIN
OO : O;
CC := C;
END;
ELSE
IF N=2 THEN BEGIN
OO := O;
CC : C;
END; [/B]
原碼:
OO: O; //設為會輸出的項目
CC: C; //設為會輸出的項目
IF N=1 THEN BEGIN
x:=SETLBOUND(CC,0); //設 CC 為無效變數, 使 CC 不輸出
END;
ELSE
IF N=2 THEN BEGIN
x:=SETLBOUND(OO,0); //設 OO 為無效變數, 使 OO 不輸出
END;
原碼:
OO:O; //輸出用
CC:C;
SOO:=OO; //計算用
SCC:=CC;
IF N=1 THEN BEGIN
x:=SETLBOUND(CC,0); //設 CC 為無效變數, 使 CC 不輸出
END;
ELSE
IF N=2 THEN BEGIN
x:=SETLBOUND(OO,0); //設 OO 為無效變數, 使 OO 不輸出
END;
OC:SOO+SCC; //運用來計算
其實這仍是真正的 BUG , 期待下次版本異動時能更正 !
因為 原條件是 正面表列 , 改成 負面表列 是 相當繁複的 ,
以我試寫是的 某公式 條件如下 :
參數 :
技術指標 = 0 - 13 0 : VOL 股票成交張數 / AMOUNT 指數成交量
1 : K線
2 : KD (9,3,3)
3 : KD (21,5,2)
4 : KD (34,5,2)
5 : MACD (26,12,9)
6 : MACD (12,6,5)
7 : BIAS (6,12,24)
8 : RSI (6,12,24)
9 : BOLL (20,20)
10 : BBI
11 : 3日高低
12 : 平均K線 (類似 奇狐K線)
13 : TESTCDP6 (21,13)
當某一條件成立 , 便需使其他不成立的條件失效
(可能 12*2 - 12*3 個變數失效 ?)
並不符合編寫公式的用意 !!
是不是 Bug 我想每個人見解不同
每套語言都有其特性, 不予置評
我已建議博庭未來能改善
現階段這是可行的方式
另外非常建議您
不要把 13 個公式湊在一起
使用上調整參數不方便
程式也難以維護容易出錯
對系統來說也較沉重
拆開來應用上會比較佳些
全部時間均為台灣時間, 現在時間為17:22 | 在這個頁面顯示本主題全部的 5 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.