委賣限價單為什麼會有出現低於均價賣出的情況

  •   224 
  • 最後發表   buffettju  2022 七月 22
buffettju 發文於   2022/06/28

小幫手您好,我的程式是自己選中的股票在開盤時買進,買進後同時掛【均價漲幅為2%】時賣出的委託單,當衝成功後結束執行。但這幾天測試的時候,出現了低於均價賣出成交、虧損的情況,想請教一下小幫手程式上是否有哪裡寫錯的情況。

if FilledRecordCount<>0 and filled=0 then condition10=dateadd(FilledRecordDate(FilledRecordCount), "D", 1)<=date else condition10=True;

//  底倉進場  //
If CurrentTime >= 090000 Then Begin
    if position=0 and filled=0 and close[1]>0 and condition10 then SetPosition(1,market);
End;


// 當衝2限價 //
if Position > 0 or Filled>0 and close>FilledAvgPrice then begin
    value1=FilledAvgPrice*1.02;
    value2=AddSpread(value1, 1);
    SetPosition(0, value2, label:="委買金額");
end;

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/07/04

Hello buffettju,

 

小幫手看您的腳本裡面的賣出條件只有在收盤價大於進場價格時,掛出委託價為進場價格高2%加1檔的限價平倉單,裡面並沒有限制要當天出場。

用回測作測試,基本上都會是限價或以上的價格成交。(參考附圖)

如果可以的話,麻煩您可以將錯誤的商品及交易的時間價格描述得更清楚些,並提供 交易中心匯出檔勾選(包含)交易腳本 以及 XQ Log 來檢驗。

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

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

感謝。

附加文件

XQ小幫手 發文於   2022/07/13

Hello buffettju,

 

關於您寄來的郵件,小幫手會請相關人員確認問題原因。

另外,您的腳本中 Position > 0 or Filled>0 and close>FilledAvgPrice 這種寫法會是 (Position > 0) or (Filled>0 and close>FilledAvgPrice) 這種判斷方式,應該不符合您的需求。

建議您可以改成 Position > 0 and Filled>0 and close>FilledAvgPrice 這樣會比較適合,確保在價格大於庫存成本的時候才丟單。

 

XQ小幫手 發文於   2022/07/15

Hello buffettju,

 

小幫手補充:

 

2022/7/8 的 4966.TW 因為 position > 0 的關係,下次洗價時就就送出 setposition(0, FilledAvgPrice*1.02) 的指令。

但此時還未確認成交,所以 FilledAvgPrice 會是0。

導致在確認成交後,會以跌停價賣出。(position = 0)

 

2022/7/8 的 5425.TW 這筆則是因為不是在當天買進的 (可能在模擬交易的帳戶中已經有一張),買進的價格為 88.3。

filledAvgPrice * 1.024 會大於當天漲停價 70.9,所以用漲停價賣出。

XQ小幫手 發文於   2022/07/22

Hello buffettju,

 

關於您郵件中的第二個問題: 沒有融券賣出的條件為什麼會有融券賣出。

工程師看過您提供的資訊後得知的是Log和伺服器紀錄上都是顯示現先賣,但不知道為什麼在庫存明細那邊會顯示為融資賣出。

相關人員會研究看如何增加 XQ 紀錄的Log資訊,確認是否能找出問題並解決。

待有進一步消息會再告知。

感謝。

發表回覆
Close