自訂函數

除了系統提供的函數之外,使用者也可以自己制定函數。
XS平台上,如果你要制定函數,共分以下幾個步驟

第一步: 開啟Xscript編輯器,按新增腳本,選擇函數,並取一個名字。


例如我想要作一個函數專門來計算當日上影線佔整體振幅的比例,我就按下新增腳本這個icon,然後會跳出如下圖的對話視窗,先在腳本類型選擇函數,然後填入腳本的名稱。
這裡要特別留意的是其他腳本的名稱不見得要英文,但由於函數可以被其他腳本引用,所以名字一定要取為英文,這樣電腦才看得懂。

在編寫函數時,使用者需要傳入參數的變數類型,目前支援三種,
Numeric
數值,String字串,邏輯值TrueFalse。細分是否傳值或傳址,
是否為陣列、序列、或是簡單型態預先宣告好的型態,Value類的可以
儲存數值,Condition可以儲存邏輯值,所以可以宣告的變數資料型態共可以分成以下的
二十種。
Numeric
StringArray 
TrueFalseArrayRef 
NumericArray 
StringArrayRef 
TrueFalseRef 
NumericArrayRef 
StringRef 
TrueFalseSeries 
NumericRef 
StringSeries 
TrueFalseSimple 
NumericSeries 
StringSimple 
Value1~99
NumericSimple 
TrueFalse 
Condition1~99
String 
TrueFalseArray 
 

相關的這些屬性都填完之後,接下來就直接按確認 來進到下一步開始撰寫腳本。

第二步,撰寫腳本

按完確認後,我們會進到一個全新的腳本編輯頁面,這時候我們就可以開始編寫腳本,例如我想寫一個函數來呈現上影線佔整個K棒長度的比例,我就可以撰寫一個叫upshadow的函數如下:
if high<>low
then begin
if close>=open
then upshadow=(high-close)/(high-low)
else upshadow=(high-open)/(high-low);
end;

第三步,按下編譯鍵。一旦 編譯成功,我們就完成了upshadow這樣一個函數,接下來我們就可以把這個函數拿來設定指標或是撰寫警示的腳本 。

以這個例子來說,我們如果寫一個警示的腳本,請電腦在個股連續兩天上影線佔當日振幅超過七成時,通知我們
那我們就可以把警示的腳本寫成以下的樣子
if upshadow[1]>0.7 and upshadow>0.7
then ret=1;
我們把這個腳本拿去跑,像以下這樣的股票就會被電腦挑出來通知我們