自動交易setposition

  •   339 
  • 最後發表   Johnny0495  2024 五月 03
Johnny0495 發文於   2024/04/25

您好,想請問:

開始時部位0,訊號出現進行買入
SetPosition(1, market)  ------> position = 0,filled = 0

成交                               ------> position = 1,filled = 1

符合條件轉為放空,

執行SetPosition(-1, market)..告知庫存不足

 

是否要用SetPosition(-2, market)..才會轉為position = -1,filled = -1

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/04/25

當setposition(1)且成交,接著又setposition(-1),會賣出兩張,亦即把庫存平倉再放空一張,若你沒有信用交易帳戶,賣掉庫存之後是不能放空的,會顯示庫存不足。

  • 按讚來自於
  • johnny0495
Johnny0495 發文於   2024/04/25

模擬交易好像沒有信用帳戶。

虎科大許教授 發文於   2024/04/25

可以融資融券,就是信用交易。

Johnny0495 發文於   2024/04/26

所以模擬現股當沖,設定須設為資券而非現股

執行SetPosition(-1, market)..就不會告知庫存不足

XS小編 發文於   2024/04/29

 Hello Johnny0495,

 

模擬交易的狀況下不論您選擇現股還是當沖應該都可以放空,除非該商品當日不可放空。

另外的可能性是您的策略設定為只作多,導致放空的交易指令被擋掉。

要麻煩提供 XQ Log 並告知問題發生的日期時間讓相關人員確認。

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

您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。

 

感謝 虎科大許教授 的熱心回覆。

Johnny0495 發文於   2024/04/29

策略設定為無限制。

部位:依腳本計算。

所以只要符合條件,執行SetPosition(-1, market),就應該是有放空動作,而不是告知庫存不足。

是否有可能除了依腳本計算外,又去檢視虛擬交易帳號庫存呢?

因為同時有其他腳本也使用同一虛擬交易帳號?而導致實際部位與目標部位計算錯誤。

 

XS小編 發文於   2024/04/30

Hello Johnny0495,

 

更精準來說,當您的position 從 1 變成 -1 時,腳本判斷要賣出兩張,此時是要平倉還是要放空則是系統依據帳戶的實際庫存來作執行。

策略的部位庫存和實際庫存是不同的,策略的部位庫存不會受到其他策略或手動交易所影響。

舉例來說,當 position 從 1 變成 -1 時,若實際庫存為2的話,那麼系統實際上是執行平倉 (2 -> 0),不會多賣一張變成-1。

Johnny0495 發文於   2024/04/30

理解。

虛擬帳戶庫存被視為總庫存,所以若有同時其他腳本執行時,

A腳本買進,總庫存1

B腳本賣出,總庫存0

等到A腳本執行SetPosition(-1, market),目標庫存-1,

A腳本,部位:依腳本計算,腳本原有1庫存但實際庫存0,導致錯誤訊息:庫存不足。

所以一個虛擬帳戶最好只執行一個同方向策略,避免總庫存數量不同,若是理解正確官方是否有可能再多增加虛擬交易帳戶。

XS小編 發文於   2024/05/03

Hello Johnny0495,

 

是的,依照您的範例,如果相同商品A策略買進一張,B策略賣出一張的話,實際庫存會是0,而 A / B 策略的庫存則分別是 +1 / -1。

若您有設定為只作多的話,A策略要賣出庫存時會被擋下 (因為會變成放空),否則應該是可以正常執行放空的動作。

就小編所知目前模擬交易的帳戶會維持在股票和期貨各兩個,沒有調整的規劃。

發表回覆
Close