XQ 期貨自動交易遇到結算時 ...

  •   409 
  • 最後發表   XS努力學習  6 小時前
XS努力學習 發文於   2025/05/21

大家好,

 

請教大家,遇到像今天一樣月期貨結算日時, 期貨提前到 1:35 收盤. 此時, 程式的部分並不會自動歸 0. 這樣就會發生程式部位和實際部位不一致. 這樣怎麼處理呢 ? 謝謝!

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/05/21

結算日交易到下午1點30分。不懂你所謂的程式部位自動歸零的意思。若留倉結算,則下個交易時段再啟動策略時,部位應該會變成0。

XS努力學習 發文於   2025/05/21

教授您好, 感謝您的回覆.

我的自動交易程式是台股指數近月, FITXN*1, 在 1:30 之前有一口單, 但已經結算後, 程式的 Position 仍然為 1. 我的程式原本會在 1:40 強制出清, 但由於結算日提前時間, 就跑不到那段程式去. 我想請教我該如何修改程式, 避免這個問題呢 ? 非常感謝您!

虎科大許教授 發文於   2025/05/21

若不想參加結算,又不想結算日的出場時間與平時日的出場時間一樣,可以用變數控制出場時間。使用GetLastTradeDate抓到期日,若Date小於它,就設定出場時間為134000,不然,就設定132500。

XS努力學習 發文於   2025/05/21

懂了! 謝謝許教授。

Chun Yi 發文於   2026/07/29

請教各位前輩

我現在是以「台指近全」為追蹤商品

我也是台指期收盤前要平倉的策略

所以當遇到結算日要提前平倉

我以3分K為頻率,非逐筆洗價

If Date =GetsymbolInfo("到期日) and Time 132400 Then

SetPosition(0,market);

End;

If Time = 133900 Then

SetPosition(0,market)

End;

這樣就OK了嗎?

另外我想請教的是,因為追蹤的商品是「台指近全」,系統會判斷因為是台指近全,有連續性,所以就不會找到結算日了呢,謝謝🙏

虎科大許教授 發文於   2026/07/29

(1)你可以用GetField("最後交易日")判斷今天是否是最後結算日。

(2)你可以用EnterMarketCloseTime判斷出場時間。這個函數會傳回最後交易時間前的幾分鐘。

非最後交易日的台指期,EnterMarketCloseTime(6)會傳回133900。

最後交易日的台指期,EnterMarketCloseTime(6)會傳回132400。

(3)全日盤一樣有最後結算日。每個月第三個星期三是近月份合約的最後結算日。最後交易時間為當天的133000。

Chun Yi 發文於   2026/07/29

Var:Value1=EnterMarketCloseTime(6)

If Value1=133900 and Time=133900 Then

SetPosition(0,market);

End;

If Value1=132400 and Time = 132400 Then

SetPosition(0,market);

End;

這樣對吧><

虎科大許教授 發文於   2026/07/29

If EnterMarketCloseTime(6) then setposition(0, market);

發表回覆
Close