系統異常導致編譯失敗

  •   524 
  • 最後發表   LeoWmLin  2025 四月 23
LeoWmLin 發文於   2025/02/08

小編你好 在回測時經常會出現   執行狀態為 系統異常導致編譯失敗

重新多執行幾次才會正常(腳本跟參數都沒變)

這可能是哪裡出問題? 

排序方式: 標準 | 最新
XS小編 發文於   2025/02/12

Hello LeoWmLin,

 

小編會先請相關人員確認伺服器的紀錄看能否找到原因。

若需要其他資料或確認原因後會再告知。

XS小編 發文於   2025/02/12

Hello LeoWmLin,

 

相關人員反映您在 2/8 時執行了多次的回測,要找到錯誤可能會需要花上不少時間。

如果可以的話麻煩提供 XQ Log 或是截圖協助確認。

LeoWmLin 發文於   2025/02/13

這個問題已經困擾很久了,與XS語法應該沒關聯

 

是我在執行回測的後,一段時間後 跑出  訊息 系統異常導致編譯失敗

而再重複執行一兩次,又會跑出結果了

 

是想問有哪些原因會造成 回測時出現 系統異常導致編譯失敗

 

以上

XS小編 發文於   2025/02/14

Hello LeoWmLin,

 

麻煩您提供 XQ Log 並非要確認腳本語法,而是要和伺服器紀錄比對錯誤發生的時間以及相關設定來確認問題原因。

XQ Log 內並無包含使用者撰寫的XS腳本。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

LeoWmLin 發文於   2025/02/23

因今日 上午(2/23)  編譯頻繁失敗,實在是很困擾! 

一次只有執行一個回測工作、只有一個回測標的(台指) 也是失敗

(回測執行狀態   中的 執行狀態  就出現   系統異常導致編譯失敗  ) 

沒有跳出任何報告 成功或失敗與否都沒有

都沒有修改XS重新編譯  而是多執行幾次就正常   

麻煩請再找看看問題並更新  

 

我已經將資料寄給

收件者: XQ全球贏家 <XQservice@xq.com.tw>

日期: 2025年2月23日 下午12:20

主旨: 討論區問題 (主旨: 系統異常導致編譯失敗) 提供Log

XS小編 發文於   2025/03/03

Hello LeoWmLin,

 

經確認 編譯失敗 是因為腳本過長導致伺服器端因任務的時間限制編譯失敗。

但實際上此工作在伺服器後台有持續運作到編譯完成。

故後面才會有能夠執行回測的狀況。

就伺服器的紀錄來看,編譯所花的時間大約為5分鐘左右。

相關人員會視情境調整優化。

LeoWmLin 發文於   2025/03/03

小編你好:

所以是因為 程式碼 太冗長?

整體不到兩千行的程式碼,有甚麼方式可以改善? 還是我只能將程式碼瘦身才能降低這個問題?

虎科大許教授 發文於   2025/03/03

試著優化程式看看。很難想像時序語言需要寫這麼多行程式碼。我曾經遇過有人將6個策略寫成一策略,讓使用者啟動策略前可選擇執行哪個策略。那麼多行的腳本,執行的效率肯定很差。比較好的做法是把一個策略拆成6個策略。你的情況若也是這樣,建議進行策略拆解。另外,若腳本裡面很多程式碼區塊重複相同的內容,建議改用函數處理。

LeoWmLin 發文於   2025/03/03

謝謝許教授回應:因為整個程式包含四種進單策略、多空判斷、以及持倉的三種出單策略

寫在一起也是因為保證金優化的關係,希望不會互相多空打架或者重複進單(是台指期的策略),也要考量庫存等,

撰寫XS經驗不足,不知道怎麼拆開會比較適合,所以全部寫起來大約1500行左右。

希望許教授能給一些範例或建議來修改 ,謝謝

虎科大許教授 發文於   2025/03/03

若你的策略是任何一個進場條件觸發都會進場,進場之後,任何一個出場策略觸發都會出場,則無法拆解策略。我猜想,裡面每個進場及出場條件都需要做很多的運算,但很難想像這樣需要寫1500行。這種優化需要case by case處理,很難有類似的範例可參考。我的經驗,一個完整的策略(不少運算)寫到100行就很多了。你的情況應該400-500行就能搞定。

顯示更多回應 發表回覆
Close