偵測連續外盤成交筆數

  •   724 
  • 最後發表   樂兒  2024 八月 22
樂兒 發文於   2024/08/20

請教前輩與小幫手,

請問XS怎麼寫出可以偵測盤中 連續外盤多筆成交的警示策略,例如:

如果 連續6筆成交,都是外盤成交,且6筆之中,最大量的單筆,成交量大於50,請通知我。

特別說明,由於,台股逐筆撮合的連續成交Tick序列 一文中 說

若有三筆成交是由同一筆委託量為100張買進委託所產生的,會以「TickGroup」記錄為一筆大單的「連續成交序列」,計算單別時也會把這三筆成交加總為100張

但這並非本文提問的本意,本文提問中,「連續6筆成交,都是外盤成交」,其中若出現「同一筆委託量為100張買進所產生的三筆成交」在本文的策略條件中,仍視為出現 3筆連續外盤成交

在此前提下,請教前輩與小幫手,

如何透過 XS寫出偵測盤中出現 「連續6筆成交,都是外盤成交,且6筆之中,最大量的單筆,成交量大於50」時,請通知我的策略語法

由於思考很久,想不出較好或正確的切入點,故特別來請教小幫手和前輩們

非常感謝 祝 各位前輩 投資順利賺錢 策略推展順利  謝謝前輩和小幫手

 

 

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

下面是一個簡單但又不是很精確的寫法,想要準確又有效率的寫法,需要學很多RealTime的Tick資料操作知識。我預計在11月份開設付費的進階班課程,這部份會有深入的介紹。

if TrueAll(getField("內外盤","Tick")=1,6) and TrueAny(getField("成交量","Tick")>50,6) then ret=1;

樂兒 發文於   2024/08/21

謝謝許教授,

為什麼您說 這個寫法 不是很精確 是因為沒有宣告變數去記錄最新的數值,還是怕遇到行情很快,洗價速度不夠呢?

另外請教一個觀念,由於Tick資料也是序列,如果用

if TrueAll(getField("內外盤","Tick")[1]=1,6) and TrueAny(getField("成交量","Tick")[1]>50,6) then ret=1;

或是 if TrueAll(getField("內外盤","Tick")[2]=1,6) and TrueAny(getField("成交量","Tick")[2]>50,6) then ret=1;

的語法來取得前一筆 或更上一筆的數值,那麼 雖然資料速度會慢,但 資料的準確度,會不會提高,感謝您的解惑

謝謝許教授,您的課程上次好像額滿,這次看有沒有機會去上, 感恩! 祝 平安!

虎科大許教授 發文於   2024/08/21

課程還有名額,報名表單如下:

https://reurl.cc/Dj0vxe

上述寫法不精準的部份並非漏接Tick的問題,這種寫法就算快市漏接Tick,仍然可以抓到漏接的Tick。不精確的問題是大單被拆成多筆成交時,邏輯判斷可能有誤。例如:

假設有連續7筆外盤成交且單量分別為:1、2、3、4、49、2、5

其中的49及2其實是一筆51張的單子,因為成交價格不同而分成兩筆成交。若用上述寫法,這7筆雖然都是外盤但都小於50,所以不會警示。精確的寫法會將49及2視為1筆而出現警示。這部份的教學我規畫在進階班課程。

樂兒 發文於   2024/08/22

許教授果然思維縝密,馬上就能想到可能出現的狀況, 謝謝許教授點出問題,寫程式果然是很專業的領域

感謝提供課程連結和日期,看安排應該是很扎實的課程,先預祝許教授 座無虛席 廣受歡迎

發表回覆
Close