設定收盤前平倉,但一分鐘連續自動交易60幾筆,回測只有2~3筆交易,
我覺得是本身程式問題,
但疑問是回測沒有顯示交易問題,如果回測沒有檢查出問題,實單上線才發生已經來不及了,
回測要如何避免和預先檢查發現出是本身程式的問題?
LOG和交易腳本已經mail到信箱
謝謝

設定收盤前平倉,但一分鐘連續自動交易60幾筆,回測只有2~3筆交易,
我覺得是本身程式問題,
但疑問是回測沒有顯示交易問題,如果回測沒有檢查出問題,實單上線才發生已經來不及了,
回測要如何避免和預先檢查發現出是本身程式的問題?
LOG和交易腳本已經mail到信箱
謝謝

Hello aaron8593,
就小幫手看您的腳本,問題應該是出現在不過夜清倉這邊。
您在這段腳本中指定了當時間大於13:30時就出場,但是進場並沒有限制時間。
所以若13:30以後有符合上面的任何進場條件的話,就會再度進場,接著在下次洗價時觸發出場。
建議您可以將進場的部分也加上時間限制 (ex. currenttime < 133000 or currenttime < 044500),或是將不過夜清倉的那行程式碼移到其他進場邏輯上方,這樣應該就不會發生同樣的問題了。
回測之所以不會發生相同情況應該是因為回測的逐筆洗價運作和即時交易的逐筆洗價不同。
回測的逐筆洗價是每分鐘運算一次 (非1分鐘頻率時),但即時則是每次洗價運算。
您可以實際觀看print出來的資訊即可得知。
另外不過夜清倉的部分也可以加上 position 和 filled 管理 (ex. position <> 0 and filled <> 0)。
須注意若同次腳本執行時有複數個 setposition 觸發,腳本只會執行最先觸發的那個。
謝謝您的回覆
我的反應是XQ回測沒有考慮跟即時交易運作一樣嗎?在回測時就發現問題.
因為程式一定會修修改改,每次修改程式回測沒發現問題,還要再模擬帳號跑幾天確認有沒有問題,
這樣時間耗下去,要何時才能實單交易?
謝謝!
Hello aaron8593,
目前XQ的回測無法提供如同即時交易一樣的逐筆洗價運作,就小幫手所知,短期內應該不會有改變。
如果您要兩者相近的話,現在能辦到的就是兩者都不勾選逐筆洗價,這樣就是會在 Bar 結束時運算。
至於您發生的 8200 錯誤訊息,相關人員確認log為 完全成交無法刪改單。
這是正常的錯誤訊息,發生的原因是當腳本運算後要修改委託數量或刪單時,原本的委託已經成交。
謝謝您的解答
4 評論