Hello Mick,
已經將您的 Log 轉交給工程師。
可以得知的是 1414.TW, 2030.TW, 1609.TX 這三樣商品都是因為刪單錯誤導致停止交易,這部分預計在接下來的版本中作修復。
2637.TW 的話需要麻煩您去問卷商,因為根據 Log 顯示這是由於您尚未簽署新版第一/二上市櫃風險預告書。(KY商品)
由於您提到您所用的策略和之前另外一封mail寄來的一樣,所以小幫手就以那封策略所附的腳本作說明。
首先,無效的交易指令是因為您的變數並不是 IntrabarPersist 的 (細節請參照連結),這會導致您的變數實際上在 Bar 結束以後才改變。
另外,由於得知了錯誤是出在快速的刪單所導致,所以小幫手會將進場策略修改為:
var: class1(0), IntraBarPersist tmp(0), IntraBarPersist tmp2(0),firstkbartop(0),overfirstkbar(0),firstkbarlowest(0);
if condition1 and tmp = 0 and time < 090100 and opend(0) < value4 and getinfo("isrealtime") = 1 then begin //確保只有運行在即時的狀況下才會下單
setposition(class1, market); //或是open,主要是讓這價格不要因為價格一值變動而導致快速的下單和刪單
highprice = value1; //紀錄移動停利點
tmp = 1;
overfirstkbar = 0;
end;
tmp2 的部分也相同。
或是把 tmp 改為 filled
if condition1 and filled = 0 and time < 090100 and opend(0) < value4 and getinfo("isrealtime") = 1 then begin //確保只有運行在即時的狀況下才會下單
setposition(class1, market); //或是open,主要是讓這價格不要因為價格一值變動而導致快速的下單和刪單
highprice = value1; //紀錄移動停利點
overfirstkbar = 0;
end;
if filled > 0 then begin
......
這樣的話在此問題修復前應該也比較不會出錯誤而導致自動交易中斷。
感謝。
15 評論