// 我的程式碼不是標準的 1,0,-1 的總倉位輸出,而是分為進L,出L,進S,出S四個條件,該怎麼修改來使用「萬用 API」下單呢 ? // (以下是我原來的程式碼) // 進L:=DoLS=1 or DoLS=3; //多進 // 出L:=DoLS=2 or DoLS=-3 or DoLS=4 or DoLS=5; //多出 // 進S:=DoLS=-1 or DoLS=-3; //空進 // 出S:=DoLS=-2 or DoLS=3 or DoLS<=-4 or DoLS=-5; //空出 // ENTERLONG:進L; // EXITLONG:出L; // ENTERSHORT:進S; // EXITSHORT:出S; // 回答:修改方式如下: // 請注意:請先至「公告設定」之「一鍵搞定」中「註冊-萬用 API 元件」 // 需更新至最新版,並「重新註冊元件」,才能用 GetNowPosition() 函式 進L:=DoLS=1 or DoLS=3; //多進 出L:=DoLS=2 or DoLS=-3 or DoLS=4 or DoLS=5; //多出 進S:=DoLS=-1 or DoLS=-3; //空進 出S:=DoLS=-2 or DoLS=3 or DoLS<=-4 or DoLS=-5; //空出 ENTERLONG:進L; EXITLONG:出L; ENTERSHORT:進S; EXITSHORT:出S; NowPoInt:= 0; // 因奇狐無法記錄變數值,總倉位要從萬用 API 抓出來 // 取得倉位:若沒有初始化倉位,會回傳 99999 <% Dim OMCOMAPI, rtn Set OMCOMAPI = CreateObject("OMSignAPI.OMCOMAPI") rtn = OMCOMAPI.GetNowPosition("FTX") if rtn <> 99999 then FFL.VarData("NowPoInt") = rtn %> NowPo:= NUMTOSTR(NowPoInt,0); //作多 +1 NowPO:= IF(ENTERLONG,'1', NowPO); //作空 -1 NowPO:= IF(ENTERSHORT,'-1', NowPO); // 平倉 0 NowPO:= IF((EXITLONG and NowPO= '1') or (EXITSHORT and NowPO= '-1') ,'0', NowPO); // 當沖 1:25 平倉 0 NowPO:= IF(OPENMINUTES(TIME)>=280,'0', NowPO); //K線時間 NowDT:= NUMTOSTR(YEAR,0) + '/' +NUMTOSTR(MONTH,0)+ '/'+NUMTOSTR(DAY,0) + ' '+NUMTOSTR(HOUR,0)+':'+NUMTOSTR(MINUTE,0)+':00'; //最新收盤價 NowC := NUMTOSTR(C,0); <% Dim OMCOMAPI, rtn NowDT = FFL.VarData("NowDT") NowPO = FFL.VarData("NowPO") NowC = FFL.VarData("NowC") Set OMCOMAPI = CreateObject("OMSignAPI.OMCOMAPI") rtn = OMCOMAPI.GoOrder("FTX","",NowDT,NowPO,NowC) %>