盤中即時資料欄位的應用
選擇單元...
XS語法進階應用
單元目錄
單元目錄
進階功能介紹
1-1 SetTotalBar資料讀取範圍與腳本執行的關係
1-2 SetBackBar指定頻率設定資料筆數
1-3 探討變數序列的觀念:幾天前黃金交叉商品為例
1-4 如何運用Print指令來抓程式的臭蟲
1-5 談OutputField跟GetFieldDate這兩個函數
1-6 計算區間漲跌幅的自訂函數
1-7 盤中即時資料欄位的應用
1-8 Tick欄位的應用
1-9 台股逐筆撮合的連續成交Tick序列
1-10 選股中心創掛牌新高與大單欄位的應用
1-11 集保相關欄位調整
1-12 如何使用函數取得商品的實際庫存數量
1-13 XS在可轉債的應用
1-14 XS函數「isfirstcall」說明
1-15 XScript 編輯器已支援 *.xs 副檔名的檔案
在這一篇文章內我們會跟大家介紹另外一個7.02/3.02版所新增的XS功能:「盤中即時資料欄位」。什麼叫做「盤中即時資料欄位」呢?在7.02/3.02之前的版本,資料欄位(例如內盤量,外盤量,外資買賣超,等)所支援的最快更新頻率都是日頻率,也就是說如果你的自訂指標或是策略雷達是執行分鐘頻率的話,你還是只能抓到昨日的數值,沒辦法抓到更精細的欄位,例如9:01分的數值,9:02的數值等。以外資買賣超這種一天才公布一次的欄位而言,受限於資料來源,XS沒辦法提供分鐘頻率的數值。可是如內盤量,外盤量這種是以成交明細所統計出來的資料欄位,從7.02/3.02版開始,你就可以抓到每分鐘的數值了。因為這些資料欄位的數值可以在盤中即時抓到,即時更新,所以我們稱這些欄位為「盤中即時資料欄位」,換句話說,所謂「盤中即時資料欄位」指的是支援分鐘頻率的資料欄位。從腳本內要怎麼樣取得這些欄位呢?一樣是透過GetField的語法:
看完欄位清單之後,那我們就使用這些欄位來做幾個簡單的應用。首先開啟IDE,新增一個指標腳本,取名為「當日賺賠」,輸入以下的程式碼:
value1 = GetField("內盤量", "1"); // 取得1分鐘頻率的數值 value2 = GetField("內盤量", "2"); // 取得2分鐘頻率的數值 value3 = GetField("內盤量", "5"); // 取得5分鐘頻率的數值 value4 = GetField("內盤量"); // 不指定頻率: 依照目前執行的頻率語法上最大的差異是頻率欄位可以直接傳入預期的分鐘頻率(只要是XQ目前有支援的分鐘頻率都可以使用)。如果雷達/指標是執行分鐘頻率的話也可以不指定頻率,執行時會依照執行的頻率來抓取對應的數值。透過IDE的插入欄位功能也可以選到常用的分鐘頻率:這些「盤中即時資料欄位」所支援的最小頻率都是1分鐘。如果你使用的是比較大的頻率的話(例如5分鐘頻率),那腳本所抓到的數值就會依照這個欄位的定義來決定。計算的方式有兩種:
- 累積值:例如「內盤量」欄位,5分鐘頻率所抓到的「內盤量」就是這5分鐘內每一個1分鐘「內盤量」的累積數值,
- 期末值:例如「均價」欄位,5分鐘頻率所抓到的「均價」就是最後1分鐘的「均價」數值
欄位名稱 | 說明 |
---|---|
成交金額 | 當分鐘的成交金額 |
均價 | 開盤到目前為止的成交均價 |
內盤量/外盤量 | 當分鐘的內盤成交量/外盤成交量 |
上漲量/下跌量 | 當分鐘的上漲成交量/下跌成交量 |
估計量 | 到目前為止的當日估計量 |
量比 | 估計量 / 昨日整日的成交量 |
總成交次數/內盤成交次數/外盤成交次數 | 當分鐘的成交筆數/以內盤成交的成交筆數/以外盤成交的成交筆數 |
買進特大單量/買進大單量/買進中單量/買進小單量 | 依照單筆交易金額分級,統計當分鐘以外盤成交的特大單/大單/中單/小單的成交量(張數) |
賣出特大單量/賣出大單量/賣出中單量/賣出小單量 | 依照單筆交易金額分級,統計當分鐘以內盤成交的特大單/大單/中單/小單的成交量(張數) |
買進特大單金額/買進大單金額/買進中單金額/買進小單金額 | 依照單筆交易金額分級,統計當分鐘以外盤成交的特大單/大單/中單/小單的成交金額(元) |
賣出特大單金額/賣出大單金額/賣出中單金額/賣出小單金額 | 依照單筆交易金額分級,統計當分鐘以內盤成交的特大單/大單/中單/小單的成交金額(元) |
買進特大單成交次數/買進大單成交次數/買進中單成交次數/買進小單成交次數 | 依照單筆交易金額分級,統計當分鐘以外盤成交的特大單/大單/中單/小單的成交筆數 |
賣出特大單成交次數/賣出大單成交次數/賣出中單成交次數/賣出小單成交次數 | 依照單筆交易金額分級,統計當分鐘以內盤成交的特大單/大單/中單/小單的成交筆數 |
累計委買/累計委賣/累委買筆/累委賣筆 | 由交易所公布,開盤到目前的累計委買委賣張數(口數),以及累計委買委賣筆數 |
累買成筆/累賣成筆 | 由交易所公布,開盤到目前的以委買成交的筆數以及以委賣成交的筆數,支援期貨/選擇權 |
累計成交/累成交筆 | 由交易所公布,開盤到目前的累計成交數量以及成交筆數 |
漲停家數/跌停家數/上漲家數/下跌家數 | 目前最新成交價是漲停/跌停/上漲/下跌的家數統計 |
內盤家數/外盤家數 | 當分鐘的內盤家數/外盤家數 |
基差 | 當分鐘現貨價格與期貨價格之間的差額 |
Delta/Gamma/Theta/Vega/RHO | 權證/選擇權的希臘數字 |
理論價 | 目前最新的理論價格 |
波動率 | 當分鐘的波動率 |
隱含波動率 | 當分鐘的隱含波動率 |
買權成交量/賣權成交量 | 開盤到現在的買權/賣權成交量總和。夜盤商品不納入計算。 |
value1 = GetField("均價"); value2 = weightedclose - value1; plot1(value2, "賺賠");開啟技術分析圖,切換到5分鐘頻率,然後加入這個指標,顯示方式改成正負柱狀圖,你會看到類似下方的畫面。在這個指標內所繪製的是當根K棒的加權平均價(WeightedClose)減去當日均價的數值。這個數值如果是正的,表示到目前為止,今天進場的人大多是賺錢的。你也可以試看看切換不同的分鐘頻率。「即時資料欄位」除了可以在自訂指標內使用之外,當然也可以在雷達內使用。接下來新增一個警示腳本,取名為「特大單買盤進場」,然後輸入以下的程式碼:
value1 = GetField("買進特大單量", "1") - GetField("賣出特大單量", "1"); if value1 > 0 then ret=1;把這個腳本加到策略雷達內,選擇1分鐘頻率,勾選逐筆洗價,K棒內單次觸發,指定你想要監控的商品,開始執行後如果當分鐘特大單是買超的話,策略雷達就會產生警示,提醒你這檔商品可能有大戶要開始進場了。到這裡對於「即時資料欄位」這個新的功能是否有更清楚了呢?小編在這裡做個整理:「即時資料欄位」是盤中會即時更新的資料序列,主要的應用情境是分鐘頻率,支援自訂指標以及策略雷達(並不支援選股)。至於回測的功能,我們還在努力開發中,等可以使用時會盡快讓大家知道。下一篇文章「Tick欄位的應用」我們將會為你介紹另外一個功能,有興趣的同學可以繼續看下去!