GetInfo - (內建函數)
一般函數
語法:
用來取得目前腳本的執行環境資訊。
回傳數值=GetInfo(資訊名稱)
傳入一個參數:
- 第一個參數是資訊名稱字串,可以是"Instance"、"IsRealTime"、"IsTimerMode"、"FilterMode"、"TradeMode"、"AT_EnableTrade"、"AT_BID"、"AT_AccType"或"AT_AID"
說明:
依傳入的參數回傳相關資訊。
當參數為"Instance"時,可以取得腳本執行的功能:
- 回傳值為1表示自訂指標。
- 回傳值為2表示策略雷達。
- 回傳值為3表示XS選股。
- 回傳值為31表示XS選股自訂排行。
- 回傳值為4表示策略雷達回測(進場)。
- 回傳值為41表示策略雷達回測(出場)。
- 回傳值為5表示自動交易
- 回傳值為6表示自動交易回測
當參數為"IsRealTime"時,可以取得K棒的狀態:
- 回傳值為0表示該筆資料為歷史資料或其他。
- 回傳值為1表示該筆資料為即時成交更新資料,需注意當該筆運算是因為自動洗價觸發時,就算資料不是即時成交更新也會回傳1。
當參數為"IsTimerMode"時,可以判斷該次洗價是否因為自動洗價所觸發,只支援警示腳本和交易腳本:
- 回傳值為1表示該次洗價是因為自動洗價所導致。
- 回傳值為0表示為成交洗價觸發,或是使用在其他腳本上。
當參數為"FilterMode"時,可以取得XS選股的模式:
- 回傳值為1表示XS選股。
- 回傳值為2表示XS選股回溯。
- 回傳值為3表示XS選股回測(進場)。
當參數為"TradeMode"時,可以交易策略目前執行的K棒是否處於資料讀取區間:
- 回傳值為0表示目前執行的K棒處理資料讀取區間,所以交易指令不會執行。
- 回傳值為1表示目前執行的K棒處理策略部位計算區間或是即時區間,交易指令將會執行。
當參數為"AT_EnableTrade"時,可以取得目前交易策略是否有啟動帳號:
- 回傳值為0表示回測或即時區間但沒有設定交易帳號。
- 回傳值為1表示即時區間且有設定交易帳號。
當參數為"AT_BID"時,可以取得券商的字串代碼:
- 回傳值為空白字串表示策略沒有設定交易帳號或是在回測。
- 回傳值為SYSTRADE表示策略帳號為模擬交易帳號。
- 回傳值為SYSCAMPUS表示策略帳號為校園模擬競賽。
- 其他券商會回傳各自對應的代碼。
當參數為"AT_AccType"時,可以取得策略運作的業務類別:
- 回傳值為1表示業務類別為證券。
- 回傳值為2表示業務類別為期貨。
- 回傳值為3表示業務類別為複委託。
- 回傳值為0表示策略沒有設定交易帳號或是在回測。
當參數為"AT_AID"時,可以取得目前策略運作的帳號:
- 回傳值為空白字串表示策略沒有設定交易帳號或是在回測。
- 回傳值為券商代碼加上交易帳號組成的字串。
關於AT的EnableTrade、BID、AccType以及AID的進一步說明,可以參考自動交易語法 取得「交易帳號」使用說明
範例:
value1 = getinfo("IsRealTime"); //若value1為1,則代表目前計算的是即時資料
plot1(value1);