庫存異動時自動同步數值

2025-06-09 18:42:33
目前版本(v0.16.01)中,「庫存異動時自動同步」功能在部分情境下的處理仍持續改善中,未來將進一步提升同步的準確性與穩定性,提供更一致的操作體驗。以下為會遇到的相關情境說明。  

可能遇到的情境說明

部分成交委託暫不觸發同步

當由他處(例如其他策略或手動下單)所送出的委託發生部分成交時,若仍有尚未成交的掛單,系統不會立即視為庫存異動,因此暫不會觸發同步機制。  

※情境範例※

使用者對商品 A 手動下單 10 張,其中成交 5 張。此時策略不會啟動同步。當該筆委託完全成交剩餘未成交部分被使用者手動取消後,系統將視為庫存異動並進行同步。  

啟動策略時會包含部分成交庫存

當策略啟動時,若帳戶中已有來自他處(例如其他策略或手動下單)的部分成交委託,其已成交部分會納入策略庫存。 由於尚未完全成交的委託不會立即觸發同步,需待該筆委託完全成交或取消後,系統才會啟動同步流程。 若在原委託尚未結束前,另由他處新增其他委託,可能導致系統在同步判斷上的資料計算產生差異。 因此,建議在原委託未完全成交或取消前,暫緩由他處送出新的委託,以利系統準確掌握庫存狀態。  

※情境範例※

使用者在策略啟動前就預先送出買入 10 張的限價單。 當策略啟動時,該筆委託已部分成交 5 張。因此,策略啟動後的庫存會顯示為 5 張。隨後,該筆預先掛出的委託又再成交了 2 張,此時策略的庫存不會立即變動,因為部分成交委託暫不觸發庫存同步的機制。 使用者判斷價格走勢已經向上但不想追高,故刪除了剩餘的 3 張委託。由於這筆預先掛入的委託至此已完全結束(部分成交並刪除剩餘張數),因此觸發庫存異動同步。系統會重啟該商品,並將該商品的初始庫存調整為 7 張(5 張 + 2 張),然後繼續運行。  

庫存異動同步時,系統會自動處理未完成的策略委託

在進行庫存異動同步時,系統會檢查該商品是否仍有由策略本身送出但尚未完成的委託(包含未成交與部分成交的掛單)。若有,系統將先自動刪除這些委託,再執行同步作業,以確保策略所使用的庫存資料為最新狀態。  

※情境範例※

策略針對目前已有庫存的 A 商品預掛停利單,但使用者判斷 A 商品走勢的方向即將轉變,故手動下單將庫存平倉。 當手動的委託完成時,系統偵測到 A 商品的庫存有異動並開始進行同步,此時策略會先將手上的 A 商品委託單(也就是預掛的停利單)刪除,接著再將 A 商品重啟。  

未來的改善方向

針對上述同步行為,開發團隊將分階段推出以下改善項目:

策略啟動時排除尚未完全成交之委託對庫存的影響

未來版本中,策略啟動時不會將帳戶中來自他處部分成交的部位納入策略庫存的計算,待該筆委託完全成交或取消後再進行同步,以確保庫存基準的一致性。

同步機制改善 - 無需重啟商品

同步機制將進一步改善為無需重新啟動商品策略即可完成庫存與成本資料的同步,減少執行中斷,提升策略的穩定性與整體效率。