(已解決 SetPosition(Filled)) 如果手動平倉股票之後,自動交易策略如果是依"庫存"判斷,Filled會即時變為0嗎?

  •   186 
  • 最後發表   Sadless  2021 六月 09
Sadless 發文於   2021/06/09

如題。如果手動平倉股票之後,自動交易策略如果是依"庫存"判斷,Filled會即時變為0嗎?

另外,如果手動平倉股票之後,自動交易策略如果是依"庫存"判斷,Filled會即時變為0的話,此時如果策略已經發出了SetPosition(0, Market) 的委託,要怎麼用程式碼取消委託,以避免重複的委託?

XQ小幫手 發文於   2021/06/09

Hello Sadless,

 

小幫手之前在另外一篇回文中提到庫存會每次運算腳本時讀取卷商端資訊。

在詢問過相關人士後,該篇回文有誤。

正確的運作方式如下所敘述。

 

依庫存只有啟動策略時會去讀取卷商庫存,接下來不論您初始部位設定為何,皆會依據腳本執行的進出場成交資訊來作庫存增減的判斷。

所以您手動把庫存平倉後,執行中的自動交易策略庫存是不會有變動的。

 

所以假設您的自動交易策略正在執行中,且部位和庫存為1的話,如果您手動平倉,策略中的部位庫存會維持為1。

要取消目前所有掛單的方式,最簡單的方法就是 SetPosition(Filled) 即可,這樣就會把部位調整成跟庫存相同。

不過如果是市價單出去的話大多會立即成交就是。

發表回覆
Close