註冊日期: Oct 2003 來 自: 文章數量: 17862
本範例可於執行時期決定變數是否要輸出 不需使用SETLBOUND指令
原碼: EmptyAry:=barslast(barpos=0); //此為一個無效數列 //先將要輸出的變數, 都定義為無效數列, 並指定輸出樣式 MM:EmptyAry COLORRED; EM:EmptyAry COLORYELLOW; //之後只要該變數有被設數值(需為有效數列), 即會輸出 //若沒被設值過, 則會因為是無效數列, 而不被輸出 if datatype>3 then begin MM:=MA(C,5); // 30分以上週期(含30分), 輸出 MM 變數 end else begin EM:=EMA(C,10); // 30分以下週期, 輸出 EM 變數 end;
EmptyAry:=barslast(barpos=0); //此為一個無效數列 //先將要輸出的變數, 都定義為無效數列, 並指定輸出樣式 MM:EmptyAry COLORRED; EM:EmptyAry COLORYELLOW; //之後只要該變數有被設數值(需為有效數列), 即會輸出 //若沒被設值過, 則會因為是無效數列, 而不被輸出 if datatype>3 then begin MM:=MA(C,5); // 30分以上週期(含30分), 輸出 MM 變數 end else begin EM:=EMA(C,10); // 30分以下週期, 輸出 EM 變數 end;
再舉一例 以參數來決定要不要疊加大盤K線 參數 UMODE=0 不疊加大盤K線 參數 UMODE=1 要疊加大盤K線
原碼: EmptyAry:=barslast(barpos=0); //此為一個無效數列 O100:=EmptyAry; H100:=EmptyAry; L100:=EmptyAry; C100:=EmptyAry; if UMODE=1 then begin O100:="100$OPEN"; H100:="100$HIGH"; L100:="100$LOW"; C100:="100$CLOSE"; end; KLINE(O100,H100,L100,C100,1); //疊加大盤K線
EmptyAry:=barslast(barpos=0); //此為一個無效數列 O100:=EmptyAry; H100:=EmptyAry; L100:=EmptyAry; C100:=EmptyAry; if UMODE=1 then begin O100:="100$OPEN"; H100:="100$HIGH"; L100:="100$LOW"; C100:="100$CLOSE"; end; KLINE(O100,H100,L100,C100,1); //疊加大盤K線