自動交易當沖尾盤強制出場而未出場

  •   339 
  • 最後發表   MakeMoneyFromStock  2023 九月 14
MakeMoneyFromStock 發文於   2023/09/03

請問小幫手,自動交易當沖時,尾盤語法如下:

if Position <> 0

AND (EnterMarketCloseTime(5) or currenttime >= 132000) then begin

SetPosition(0, market);

end; 

但回測後有發現幾檔在某幾天的尾盤一直出不了場,造成錯誤:

6451, 7/4 尾盤未出場

2399, 7/4 尾盤未出場

6173, 8/4, 尾盤未出場

想請教原因,以及如何避免?

謝謝您

排序方式: 標準 | 最新
iker 發文於   2023/09/06

通常遇到出不了場的情況都是你所設定的出場時間 130000 開始,後續所有K棒成交量皆為0。

因為XQ所有腳本都是有成交才會執行(開了逐筆洗價也一樣),沒有成交的話就算你有寫指定時間之後送出市價單的邏輯,實際上因為腳本從 130000 開始到 132500 都沒有被觸發到,所以根本不會送單。(133000 有成交也沒用,因為已經收盤了,就算跑到腳本邏輯裡執行下單,也會下單失敗)

這種情況只能更改條件提前出場,或是在腳本裡換日的邏輯區域裡,寫一段強制出場條件,這樣至少隔日開盤一定會出場。

一定要求要當沖提前出場的話,只能避開量太小的股票,盤中再另外偵測交易量,例如遇到20期均量太低或開始多根K棒無成交,就要主動出場避免留倉交割。

XQ小幫手 發文於   2023/09/14

Hello MakeMoneyFromStock,

 

您可以參考 iker 的回覆。

另外,小幫手這邊簡單測試您說的商品,是可以出場的。(參考附圖)

可能是前面有其他的交易指令觸發導致尾盤出場的交易指令不執行 (只會執行第一個運算到的交易指令),或是回測的設定所導致。

可以使用 print 函數將相關數值印出確認看是什麼原因造成。

 

如果還是有問題的話,要麻煩您提供 回測腳本匯出檔、回測設定 (報告或截圖皆可) 以及 XQ Log 來檢驗。

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

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

 

感謝 iker 的熱心回覆。

 

 

附加文件

發表回覆
Close