
大家好。在上一篇文章「
XQ新增技術指標介紹」中,我們跟大家說明了7.02/3.02版所新增的技術分析指標。在這一篇文章內我們會跟大家介紹另外一個7.02/3.02版所新增的XS功能:「盤中即時資料欄位」。
什麼叫做「盤中即時資料欄位」呢?在7.02/3.02之前的版本,資料欄位(例如內盤量,外盤量,外資買賣超,等)所支援的最快更新頻率都是日頻率,也就是說如果你的自訂指標或是策略雷達是執行分鐘頻率的話,你還是只能抓到昨日的數值,沒辦法抓到更精細的欄位,例如9:01分的數值,9:02的數值等。
以外資買賣超這種一天才公布一次的欄位而言,受限於資料來源,XS沒辦法提供分鐘頻率的數值。可是如內盤量,外盤量這種是以成交明細所統計出來的資料欄位,從7.02/3.02版開始,你就可以抓到每分鐘的數值了。因為這些資料欄位的數值可以在盤中即時抓到,即時更新,所以我們稱這些欄位為「盤中即時資料欄位」,換句話說,所謂「盤中即時資料欄位」指的是
支援分鐘頻率的資料欄位。
從腳本內要怎麼樣取得這些欄位呢?一樣是透過GetField的語法:
value1 = GetField("內盤量", "1"); // 取得1分鐘頻率的數值
value2 = GetField("內盤量", "2"); // 取得2分鐘頻率的數值
value3 = GetField("內盤量", "5"); // 取得5分鐘頻率的數值
value4 = GetField("內盤量"); // 不指定頻率: 依照目前執行的頻率
語法上最大的差異是頻率欄位可以直接傳入預期的分鐘頻率(只要是XQ目前有支援的分鐘頻率都可以使用)。如果雷達/指標是執行分鐘頻率的話也可以不指定頻率,執行時會依照執行的頻率來抓取對應的數值。
透過IDE的插入欄位功能也可以選到常用的分鐘頻率:

這些「盤中即時資料欄位」所支援的最小頻率都是1分鐘。如果你使用的是比較大的頻率的話(例如5分鐘頻率),那腳本所抓到的數值就會依照這個欄位的定義來決定。計算的方式有兩種:
- 累積值:例如「內盤量」欄位,5分鐘頻率所抓到的「內盤量」就是這5分鐘內每一個1分鐘「內盤量」的累積數值,
- 期末值:例如「均價」欄位,5分鐘頻率所抓到的「均價」就是最後1分鐘的「均價」數值
底下列出7.02版所支援的「盤中即時資料欄位」,如果想要了解欄位的詳細內容的話,請點選每個欄位名稱的連結。
看完欄位清單之後,那我們就使用這些欄位來做幾個簡單的應用。
首先開啟IDE,新增一個指標腳本,取名為「當日賺賠」,輸入以下的程式碼:
value1 = GetField("均價");
value2 = weightedclose - value1;
plot1(value2, "賺賠");
開啟技術分析圖,切換到5分鐘頻率,然後加入這個指標,顯示方式改成正負柱狀圖,你會看到類似下方的畫面。

在這個指標內所繪製的是當根K棒的加權平均價(WeightedClose)減去當日均價的數值。這個數值如果是正的,表示到目前為止,今天進場的人大多是賺錢的。你也可以試看看切換不同的分鐘頻率。
「即時資料欄位」除了可以在自訂指標內使用之外,當然也可以在雷達內使用。接下來新增一個警示腳本,取名為「特大單買盤進場」,然後輸入以下的程式碼:
value1 = GetField("買進特大單量", "1") - GetField("賣出特大單量", "1");
if value1 > 0 then ret=1;
把這個腳本加到策略雷達內,選擇1分鐘頻率,勾選逐筆洗價,K棒內單次觸發,指定你想要監控的商品,開始執行後如果當分鐘特大單是買超的話,策略雷達就會產生警示,提醒你這檔商品可能有大戶要開始進場了。
到這裡對於「即時資料欄位」這個新的功能是否有更清楚了呢?小編在這裡做個整理:「即時資料欄位」是盤中會即時更新的資料序列,主要的應用情境是分鐘頻率,支援自訂指標以及策略雷達(並不支援選股)。至於回測的功能,我們還在努力開發中,等可以使用時會盡快讓大家知道。
下一篇文章「
Tick欄位的應用」我們將會為你介紹另外一個功能,有興趣的同學可以繼續看下去!