您好,想請問:
開始時部位0,訊號出現進行買入
SetPosition(1, market)  ------> position = 0,filled = 0
成交 ------> position = 1,filled = 1
符合條件轉為放空,
執行SetPosition(-1, market)..告知庫存不足
是否要用SetPosition(-2, market)..才會轉為position = -1,filled = -1
 
        
        您好,想請問:
開始時部位0,訊號出現進行買入
SetPosition(1, market)  ------> position = 0,filled = 0
成交 ------> position = 1,filled = 1
符合條件轉為放空,
執行SetPosition(-1, market)..告知庫存不足
是否要用SetPosition(-2, market)..才會轉為position = -1,filled = -1
模擬交易好像沒有信用帳戶。
可以融資融券,就是信用交易。
所以模擬現股當沖,設定須設為資券而非現股
執行SetPosition(-1, market)..就不會告知庫存不足
Hello Johnny0495,
模擬交易的狀況下不論您選擇現股還是當沖應該都可以放空,除非該商品當日不可放空。
另外的可能性是您的策略設定為只作多,導致放空的交易指令被擋掉。
要麻煩提供 XQ Log 並告知問題發生的日期時間讓相關人員確認。
Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。
您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。
感謝 虎科大許教授 的熱心回覆。
策略設定為無限制。
部位:依腳本計算。
所以只要符合條件,執行SetPosition(-1, market),就應該是有放空動作,而不是告知庫存不足。
是否有可能除了依腳本計算外,又去檢視虛擬交易帳號庫存呢?
因為同時有其他腳本也使用同一虛擬交易帳號?而導致實際部位與目標部位計算錯誤。
Hello Johnny0495,
更精準來說,當您的position 從 1 變成 -1 時,腳本判斷要賣出兩張,此時是要平倉還是要放空則是系統依據帳戶的實際庫存來作執行。
策略的部位庫存和實際庫存是不同的,策略的部位庫存不會受到其他策略或手動交易所影響。
舉例來說,當 position 從 1 變成 -1 時,若實際庫存為2的話,那麼系統實際上是執行平倉 (2 -> 0),不會多賣一張變成-1。
理解。
虛擬帳戶庫存被視為總庫存,所以若有同時其他腳本執行時,
A腳本買進,總庫存1
B腳本賣出,總庫存0
等到A腳本執行SetPosition(-1, market),目標庫存-1,
A腳本,部位:依腳本計算,腳本原有1庫存但實際庫存0,導致錯誤訊息:庫存不足。
所以一個虛擬帳戶最好只執行一個同方向策略,避免總庫存數量不同,若是理解正確官方是否有可能再多增加虛擬交易帳戶。
Hello Johnny0495,
是的,依照您的範例,如果相同商品A策略買進一張,B策略賣出一張的話,實際庫存會是0,而 A / B 策略的庫存則分別是 +1 / -1。
若您有設定為只作多的話,A策略要賣出庫存時會被擋下 (因為會變成放空),否則應該是可以正常執行放空的動作。
就小編所知目前模擬交易的帳戶會維持在股票和期貨各兩個,沒有調整的規劃。
9 評論