請問
setposition(1,market); 這個指令是送出一張委託單 ,但是在成交前,還是一張委託單是嗎 在成交之前 position=1 成交之後position =0 嗎? FilledRecordCount 是表示上一根K棒時間內的委託成交數嗎? 有沒有法子查台指期的未平倉部位呢?
成交前 position = 1 , Filled = 0
成交後 position = 1 , Filled = 1
position可以想像成委託單的概念 但不完全是
如Gary所說 執行setposition(1) 送出委託單後position = 1 filled = 0 而成交後position = 1 filled = 1
未平倉部位應該要看你程式執行時間,如果你都沒有關XQ 就會以你一開始的0為主 (當然也可以自設其他數字)
假設你原本就有庫存,依現況看起來目前還沒辦法主動抓到你實際的未平倉量,必須自己設定
Hello 小羅,
setposition(1,market) 這函數代表的意思是調整交易策略至指定部位,並不只是單純的買一張喔。
舉例來說,當您現有的成交部位 (也就是Filled) 是0張時,setposition(1,market)會幫你委託出一張市價買單。
當您現有的成交部位是1張時,這函數不會動作。
當您現有的成交部位是2張時,這函數會幫你委託出一張市價賣單。
所以在執行完這函數後,不論您原本的position是多少都會被調整成1。
但注意的是,他只是送出委託,並不代表一定成交。所以您的position跟filled (策略預期部位跟實際的成交部位) 是有可能會不相同的。
FilledRecordCount 是回傳策略開始執行到目前為止的成交筆數。
要查詢實際手上的部位的話就是用Filled。
您可以在以下網頁查詢函數相關說明。
https://xshelp.xq.com.tw/XSHelp/
感謝 GaryChiang 和 Mick 的熱心幫忙!
3 評論