開盤洗價問題

  •   638 
  • 最後發表   凱爾  2024 七月 10
凱爾 發文於   2024/07/01

想請問洗價頻率為1分鐘,

開盤要是試搓到9:03才開始洗價,

IsSessionFirstBar 這個值在9:03 ~ 9:04會是true嗎?

想了解這個值的運作方式

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/07/01

延後兩分鐘開盤的情況下,IsSessionFirstBar指的是090200這根K棒,亦即程式執行到090200這根K棒時,IsSessionFirstBar才是True。

凱爾 發文於   2024/07/01

我是想要在逐筆洗價的情況下, 取得第一根1分K的OHLC,

但我發現延後開盤超過一分鐘, IsSessionFirstBar好像不會觸發?

我再觀察一下好了,

感謝你

 

虎科大許教授 發文於   2024/07/01

欲取得第一根1分K的最高價:

var: intrabarpersist myH(0);

if date<>date[1] then myH=h;

凱爾 發文於   2024/07/01

請問為什麼 if date<>date[1] 代表第一根1分K?

我不太理解這個語法的意思

謝謝

虎科大許教授 發文於   2024/07/01

當程式執行到今天第一根分鐘K棒,date是第一根K棒的date。date[1]是前一根,亦即昨天最後一根的date,兩者不同,代表目前是今天的第一根K棒。之後的每根分K的date都等於date[1]。

凱爾 發文於   2024/07/02

我是用IsSessionFirstBar去判斷, 得到的結果, 如果延後開盤, 拿到的OHLC值都相同

 

沒有延後開盤

"20240702 09:00:17.402","志聖(2467)","開始即時洗價","目前部位:0 成本:0"

"20240702 09:00:59.599","志聖(2467)","列印","Open 172.500000 High 175.000000 Low 172.000000 Close 173.500000 "

 

延後開盤

"20240702 09:02:10.187","穎漢(4562)","開始即時洗價","目前部位:0 成本:0"

"20240702 09:02:10.187","穎漢(4562)","列印","Open 55.600000 High 55.600000 Low 55.600000 Close 55.600000 "

虎科大許教授 發文於   2024/07/02

延後開盤兩分鐘的情況下,9點2分第一個TICK進來時,會先做補K的動作,亦即會將第一分鐘及第二分鐘的K棒補齊,也就是說會將昨天的收盤價當作第一及第二根各自的四個價格,亦即前兩根的開高低收都是昨天的收盤價。這樣看來IsSessionFirstBar仍然指的是090000這根K棒。

  • 按讚來自於
  • Pingzz0719
凱爾 發文於   2024/07/02

原來是這樣, 那請問該怎麼處理這種情況呢?

改用 if date<>date[1] 判斷嗎?

虎科大許教授 發文於   2024/07/02

用 if date<>date[1] 抓第一根K棒的資料。

凱爾 發文於   2024/07/03

測試結果跟IsSessionFirstBar一樣,

請問還有甚麼方法可以試嗎?

顯示更多回應 發表回覆
Close