自動交易遇到緩搓沒辦法進場

  •   65 
  • 最後發表   joE0403  2 週前
joE0403 發文於   2025/09/23

在自動交易中,一分k開逐筆,收k(condition[1]的寫法)後才進場的情況,遇到前一根k棒是緩搓,沒辦法進場的情況,請問有解法嗎?

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

 

進入緩撮後,沒有成交價,除非使用自動洗價,否則不會洗價,亦即程式不會被執行。你的情況,洗價模式似乎應該改成逐筆洗價+自動洗價。不過,若緩撮第二分鐘,系統會進行補K,此時若送出下單指令,並不會被執行,此時要加入變數判斷是否下單指令沒被執行。

joE0403 發文於   2025/09/23

1.我有開自動洗價,以20250922 晶彩科當天的情況,09:03收k就符合判斷,進入緩搓後自動洗價也沒有送委託單,反而在結束緩搓後第一次洗價(09:05:13.184)送委託單。所以用收k(condition[1]的寫法)他是去判斷09:04那根成交量為0的k棒嗎?
2.
加入變數判斷是否下單指令沒被執行。請問這個如何判斷?
感謝教授回覆

虎科大許教授 發文於   2025/09/23

(1)20250922 晶彩科 在090313進入緩撮,090300這分K的收盤價是進入緩撮前的最後一筆成交價,該價格被視為收盤價且是在補K的時候補上的,亦即在090513時補上的。補K的時候,程式會被執行,但交易指令會被忽略。090513補兩次K(洗兩次價,這兩次洗價不會執行交易指令)之後,第三次洗價才會執行交易指令。第三次洗價時,會去判斷condition1[1],亦即補K之後的090400的條件是否為True。若為True,就會執行交易指令。

(2)判斷是否進入緩撮,可使用GetQuote("撮合狀態")判斷。

joE0403 發文於   2025/09/24

1. 謝謝教授這樣解釋我明白了,所以開自動洗價程式也沒辦法在0903~0905之間做判斷
2.所以用收K(
condition1[1])的寫法,加上判斷GetQuote("撮合狀態") = 8 不要進場,問題是這樣等於多等一根1分k,價格可能跑掉,或是進場條件變得不成立,這樣理解有錯誤嗎?

虎科大許教授 發文於   2025/09/24

價格不會跑掉,都是緩撮最後一個Tick的收盤價,該擔心的是cross over 或 cross under 可能無法產生訊號。

joE0403 發文於   2025/09/25

抱歉聽不懂了,不是多等一分鐘避開前一根是緩搓的情況嗎?拿實際案例(20250922 晶彩科)舉例就是09:06第一次洗價時判斷09:05收盤價

虎科大許教授 發文於   2025/09/25

以你晶彩科的例子,09:05:13.184緩撮後第一次洗價。若補K之後,090300出現均線黃金交叉(雖然符合訊號條件,但不會送出交易指令),090500洗價時已經不是黃金交叉,就會錯過訊號。

joE0403 發文於   2025/10/01

1.09:05:13.184緩撮後第一次洗價送單就是無效交易指令........那不就是要延後一根k棒才能進場?價格也會跑掉阿
2.所以用收k進場的方式遇到緩搓無解,只能延後進場,這樣理解對嗎?

joE0403 發文於   2025/10/01

還有請教小幫手,為什麼無效交易指令沒有跳通知,有甚麼方法可以開啟嗎?都只會跳成交通知

虎科大許教授 發文於   2025/10/01

緩撮期間沒有成交價,就算使用自動洗價,還是需要等補K完成,才可以抓到前一根的收盤價。

顯示更多回應 發表回覆
Close