關於收盤時進單的問題

  •   385 
  • 最後發表   帥哥元  2025 二月 14
帥哥元 發文於   2025/02/12

期貨(波段)60分K頻率,沒有洗價,自動交易的策略部位設定:延續前次執行,自動執行有部位商品(啟用)

if Position = 0 and Filled = 0 and FastMA Cross Over SlowMA then SetPosition(1);

狀況一: 10:45那根K棒符合進場條件,那會於收K時,也就是下一根K棒(11:45)的開盤進場,盤中執行都OK

狀況二: 12:45那根K棒符合進場條件,那會於收K時,也就是下一根K棒(15:00)的開盤進場,結果15:00開盤時卻沒進場

在狀況二,13:50停止自動交易,14:45啟動自動交易  或是 8:30啟動自動交易就一直沒關,直到15:00開盤,都一樣不會進單,請問有哪邊沒注意到嗎?

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

15:00開盤時卻沒進場,是因為position及filled都是1,無法進場。

帥哥元 發文於   2025/02/12

14:45啟動自動交易時,開盤前的洗價都是顯示Position=0,Filled=0

在沒有逐筆洗價的情況下,12:45那根K棒的收K會是13:44:59左右,縱使這時下單出去,Filled應該也是很難有成交,而且如果Filled變成了1,那在15:00開盤時,部位應該會是1才對,但是實際部位還是0,所以,我才會覺得是不是都沒進場

另外,再請問一下教授,如果13:44:59有下單出去,Position這時變成1,假設沒有成交的話,那在15:00重新啟動自動交易時,這時的position會是0還是1呢?

 

虎科大許教授 發文於   2025/02/12

下單出去,Position這時變成1,假設沒有成交的話,那在15:00重新啟動自動交易時,這時的position會是0。另外補充說明,開始洗價時候的部位是什麼,與你的策略部位設定有關。若你的策略部位選擇「不設定」,則開始的部位都是0。

帥哥元 發文於   2025/02/13

謝謝許教授

自動交易的設定如下

 

以我目前的理解

因為沒有逐筆洗價,所以會在60分K的K棒結束時,才會進行洗價

這時策略才會去判讀是否符合進場條件,如果符合,則進場,這時的進場時間,理論上應該是下一根K棒的開始時間

也就是12:45:00~13:44:59這根60分K的K棒,在K棒結束時,進行了最後一次洗價,然後發現符合策略進場條件

那麼應該會在下一根K棒,也就是15:00:00這根K棒開始時,就會進場

但是,實際上卻不會進場

所以,一直找不到原因為何

虎科大許教授 發文於   2025/02/13

早盤最後一根K棒與夜盤第一根K棒(下午三點)之間的關係與盤中前後兩根K棒的關係並不相同。

盤中前後兩根K棒的關係是,當後面這根開盤的第一個Tick進來,才可確定前面的K棒已收盤。這種情況並不適用134500收盤的K棒與150000開盤的K棒。

若你希望134500收盤時出現訊號,在150000進場,則必須改成逐筆洗價,且用變數控制K棒的第一個Tick判斷是否有訊號。

帥哥元 發文於   2025/02/14

了解,謝謝許教授解惑

XS小編 發文於   2025/02/14

Hello 帥哥元,

 

小編補充,若該根K棒結束時是交易區間中斷的時候 (ex.以台指期60分頻率來說是 124500 和 040000),那麼結束時由於交易區間中斷,故不會送單。

就小編所知,在即時的情況下,區間結束後的幾分鐘系統會產生一筆虛擬的Tick讓最後一根K棒洗價並結束。

由於此時商品已收盤,故不會送出交易指令。

回測也是,非逐筆情況下最後一根Bar洗價後不會觸發交易指令 (除非勾選觸發即判斷成交)。

帥哥元 發文於   2025/02/14

了解,感謝小編的補充

發表回覆
Close