GetField

By | 2015-05-26

在XQ量化平台上線之前,市場早有很多套程式語法可供交易者使用,但敢於宣稱這是最適合台灣人使用的程式交易語法,其原因就在於, 我們可以提供台灣市場獨有的欄位,供交易者來使用。
交易者在制定台股交易策略時,往往除了開高低收成交量之外,也想要試著用台股獨特的交易資料,籌碼,財務報表等等欄位,例如法人的進出資料, 來作為交易策略的運算基礎,為了讓交易者可以如願以償,XScript提供了Getfield語法,來協助交易者完成這樣的工作,這篇文章就是來介紹這套語法及其應用。
在撰寫腳本時,當您需要使用這些台股特有的欄位時,只要在編輯器中打一個英文字母g,不管大小寫,編輯器都會跳出一個如下面附圖中的視窗, 只要您選取getfield(插入),系統就會跳出一個選取欄位的視窗,讓您直接挑選要使用的欄位。


您只要選取其中一個欄位按插入鍵,系統就自動把這個欄位帶到您的腳本中,因此,您就不需要去記那個欄位的英文名字是什麼。
例如我們如果要取得今日的外資買賣超,我們的寫法可以如下 :

value1=Getfield("外資買賣超"); 其單位是張數

如果我們要取得前一日的外資買賣超,其寫法跟我們要取得前一日的收盤價是一樣的,也就是用中括號裡寫個1就可以,所以其寫法如下 :

value1=Getfield("外資買賣超")[1];

我們非常習慣用value1=getfield(“欄位名稱”)的語法來取得特定欄位的回傳值,
這裡的value1,您也可以使用自己命名的變數名稱。

那麼到底支援多少台股欄位呢?
上面那張圖所顯示的,當您輸入G來跳出那個選取欄位的對話框時,目前Getfield支援的欄位是屬於資料欄位及商品資訊欄位,在警示類的腳本與選股類的股本中,能使用的欄位也不一樣,先跟大家介紹警示能用的欄位,下面幾類,按下連結後,可以看到所有的欄位,以及欄位的說明及使用範例

價格

量能

籌碼

基本

事件

市場統計

期權

以上是在警示腳本中可以用Getfield語法取得的所有欄位

接下來我介紹只有在選股本中才能用的欄位,如果你要寫的是警示腳本,在那個對話框中就不會有這些欄位可以選用

價格

籌碼

基本

財務

事件

所有跟財務報表有關的欄位,都是要在選股腳本中才用得到

這麼多的欄位,在使用上,XScript建議的語法如下:

Value1=getfield(“tradevalue”)[1]

或是

value1=getfield(“成交金額”)[1]

這兩種方式都可以取得昨日成交金額。

舉個例子,如果要找前一日主力買超創120天來新高,且近三日主力都買超,成交量過500張,且今天上漲超過3%的股票,就可以寫成腳本如下

value1=GetField("主力買賣超張數")[1];
if value1=highest(value1,120)
and trueall(value1>0,3)
and volume>500
and close>close[1]*1.03
then ret=1;

透過getfield這樣的語法,我們可以把台股特有的欄位拿來加入運算,不過要提醒大家,這些資料的更新頻率並不一樣, 所以運用這些欄位的腳本,在設進階警示時,其腳本的頻率必須設定對。