自動交易的出場延遲問題?

  •   155 
  • 最後發表   charlie1234  2021 八月 26
charlie1234 發文於   2021/08/23

小幫手好

請幫我看看這樣的出場寫法,是否正確

我想要的是當獲利為進場價的1.05倍就出場

//出場

input: profitP(1.05,"獲利多少出場");

if position=1 then begin
    if close>=profitp*Filledavgprice then setposition(0,market);
end;

在發問的時候,原本要問的股票"中櫃"就出場,所以上面的寫法,應該是正確的

但衍生出停利延遲的問題

庫存內有一檔股票中櫃 (五分線,逐筆洗價、多日前進的,XQ重開過),成本顯示為33.3


如果用33.3*1.05計算,應該是超過34.96就應該出場,換句話說應該是獲利超過$1665就該出場

但自動交易監控損益已經超過2200了,卻都沒有出場!!

查看逐筆交易,中櫃在9:04:21就已經超過停利點34.96了,卻都沒有觸發

正在發出疑問時,中櫃停利出場了,但時間已經是9:17:56了

時間上差了13分鐘,而這中間從9:04~9:17價格都有出現在35以上

請小幫手協助查找原因,謝謝

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/08/24

Hello charlie1234,

 

小幫手這邊回測沒有出現您所說的情形,在090400時就會出場。

(需注意應該是要收盤價超過 34.965才對,您可以使用print檢查相關數值是否無誤。)

推測有可能是因為您腳本內上方有其他 setposition 同時符合條件執行,導致位於下面的出場 setposition 無法執行。

(同時有兩個setposition執行時,只會執行位於腳本上方的)

 

如果要確定問題原因的話,需要麻煩您提供 交易中心匯出檔勾選(包含)交易腳本、以及 XQ Log 來檢驗。

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

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

感謝。

charlie1234 發文於   2021/08/26

謝謝小幫手的測試

我應該是找到問題所在了

出場的地方,沒有加入filled去做判斷

導致進出場的錯亂

測了兩天,沒有延遲出場,沒有立刻刪單,也沒有其他錯誤訊息出現了

 

發表回覆
Close