腳本撰寫流程

腳本的撰寫流程





每個腳本,都像一道食譜,每個食譜,都會要我們先準備食材,腳本的食材,就是我們要拿下去運算的每個元素,在XS的腳本中,這些要拿來加減乘除的元素,可以歸類為以下幾種
1.       即時行情的數據。包括單量,當日漲幅,內盤量,外盤量,五檔委買賣的價與委託量等等,我們可以用 Getquote的語法把它們拉出來使用。
2.       盤後數據。包括法人進出,資券變化,主力進出等等數據,我們是用Getfield的語法把這些欄位拿到腳本中來使用
3.       回傳值。開高低收成交量等語法中最基本的元素,在以K棒為基礎的架構裡,我們可以用Close[n]之類的語法,把K棒中的每一個被存下來的值拿來運算
4.       函數。不管是系統提供的,還是使用者自訂的,所有的函數都可以拿來腳本中作運算
5.       參數。為了更改參數方便而由使用者以INPUT的語法所設定的參數,也是可以被拿來腳本中作運算。
6.       變數。為了運算方便,由使用者自行宣告的變數,也是腳本中常見的元素。
7.       常數。有的時候,就是會運用到簡單的阿拉伯數字,或是Truefalse這兩個布林值,這些都是腳本運算中常用的元素。
當我們要要撰寫一個腳本時,就像食譜要先準備的食材一樣,我們得先決定要用上述七大類裡的那些元素,然後一剛開始,我們會先透過宣告的方式,把要用的變數及參數先準備好,我們為它們取名字,設初始值,設資料型態。
然後接下來我們用getquotegetfield,把盤後資料及盤中資料拿出來

接下來就是把函數指定到取好的變數
這些工作都做好了之後,接下來就像食譜中的食材準備好之後,要開始介紹怎麼熟煮,腳本接下來就要開始建構各種元素開的關係。
最後再設計警示觸發的條件,讓電腦知道您希望在什麼樣的情況下,電腦應該通知您,您寫的腳本的觸發條件已經成立。
以上就是整個警示腳本的完整流程。
接下來我們舉個實際的例子來說明
我們希望電腦在個股符合下列三個條件時通知我們,
1.    十日法人買超的移動平均超過1000
2.    當日外盤量佔成交量超過五成
3.    當日股價比前一日上漲
那麼我們可以寫下一個腳本如下:
各位可以看到,我們依以下的步驟在完成一個警示腳本
步驟一: 宣告參數
步驟二: 宣告變數
步驟三: 取得盤後資料
步驟四: 取得即時數據
步驟五: 建構運算關係
步驟六: 設立觸發,畫指標或確認 函數的敘述式
當然在實作上,步驟一到步驟五的任何一項 ,都可能因為沒有用到相關數據而被省略,最簡單的警示腳本如if close=high then ret=1;就只有步驟六而已。
但如果大家記得這六個基本的步驟,應該可以很快的把各式各樣的數據,同步放在一個警示腳本中來使用。


二, 腳本的編譯

在完成任何一個腳本之後,接下來要進行的是腳本的編譯,任何一個腳本編譯成功之後,就可以被使用者拿來用在各種金融商品上來使用。
編譯的作用有兩個
1.    讓系統幫您檢視腳本有沒有寫錯的地方。
2.    編譯完成後系統自動幫您把腳本存起來,當您需要針對特定一群股票或期貨等金融商品使用這個腳本時,可以直接勾選即可。

在編譯之前,請先把腳本再檢查一遍,然後點擊下圖任一個用紅圈圈起來的地方,系統就會直接進行編譯的作業,如果一切正常,在下方編譯輸出的頁籤中,會依序出現編譯開始,編譯成功,全部物件編譯結束的文字。

三,腳本的勘誤

如果腳本寫錯了怎麼辦? 不必擔心,當您按編譯時,如果腳本有錯,在下方的訊息列,電腦會用中文跟您說您在第幾行的第幾個字可能是那裡出錯了(如下圖)