自訂指標

By | 2015-10-22

雖然XQ內建了近百種技術指標,但作為一個程式交易者,也許你也會想要發明一個專屬於你個人的指標。為了滿足您這方面的需求, XS提供了一個自訂指標的功能,接下來我們就舉一個例子,一步步的介紹如何在XS上自訂指標。

首先,請打開Xscript編輯器,然後按新增,這時候系統會跳出如下的視窗 :

寫自訂指標腳本的第一步

 

記得在腳本類型的地方要選擇”指標”,然後幫你的指標腳本取一個名字, 按確認就回到編輯器的撰寫腳本畫面。

在這畫面你可以開始描述你的指標計算公式,語法跟警示的腳本寫法一樣,例如我們可以設一個指標,用來計算每天收盤價與月線之間的差, 如果這個差的三天移動平均站上零,應該就代表波段轉向多頭走勢,這個指標的腳本如下

value1=average(close,22);

value2=close-value1;

value3=average(value2,3);

plot1(value3,"月線與收盤價差三日移動平均");

自訂指標樣本

在這邊,XS用了一個語法叫作plot,用來告訴電腦要畫的指標是那個數值,如果只畫一個指標,那就是plot1,畫第二個就是plot2,其語法如下 :

plot1(value,”文字說明”);

Value代表任何的數值,逗號後面的文字說明可有可無),所以,如果你要畫一條數值為零的橫線,只要寫plot1(0)即可。

至於這個指標要畫出柱狀圖還是線圖?圖的顏色是什麼色? 座標要怎麼設,XS的作法跟Tradestation不同,我們是直接透過技術分析的一個對話框來讓使用者修改。

使用者寫完自訂指標的腳本,完成編譯的動作之後,系統就在技術分析的副圖指標中,在自訂指標的分類中,自動幫使用者加上這個指標。 所以使用者只要到技術分析的頁面,按右鍵就會看到如以下的選單 :

自訂指標的選單

當使用者點選自訂指標時,系統就會把所有的自訂指標列出來讓使用者選取,如是,使用者就可以在這邊找到自己寫好且編譯完的指標了。

如果使用者想要更改自訂指標的各項屬性,只要在自訂指標的頁面按滑鼠右鍵,然後按設定,就會出現以下的對話框 :

自訂指標參數設定

透過這個對話框,切換頁籤,就可以依序調整參數,繪圖的樣式,以及座標範圍了。

有了這個功能,可以先透過自訂指標,找出指標的特色及與商品走勢的對應關係,然後再來研究如何制訂交易策略,並把它寫成一個警示的腳本, 在指標符合某些特定條件時,可以讓電腦觸發警示。

例如,我們可以設計一個指標叫上昇趨勢指標,它的計算方法如下 :

1.如果收盤比前一天高,就給一分。

2.如果開盤,最高,最低也比前一天高,就各給一分。

3.計算這十天的總分合計是幾分。

4.取這個分數的五日及二十日平均。

根據上述的原則,我們可以寫出一個腳本如下 :

variable:count1(0), count2(0), count3(0), count4(0), x1(0);
input:length(10);
count1=0;
count2=0;
count3=0;
count4=0;

for x1=0 to length-1
if o[x1]>o[x1+1] then count1=count1+1;
 
for x1=0 to length-1
if h[x1]>h[x1+1] then count2=count2+1;

for x1=0 to length-1
if l[x1]>l[x1+1] then count3=count3+1;
 
for x1=0 to length-1
if c[x1]>c[x1+1] then count4=count4+1;
 
value1=count1+count2+count3+count4;
value2=average(value1,5);
value3=average(value1,20);
Plot1(value2,"趨勢分數");
Plot2(value3,"移動平均分數");

然後在完成這個腳本的編譯後,我們把這個腳本用在加權指數上可以得出如下圖的自訂指標圖形 :

上昇趨勢指標

從這張圖,我們可以看出,當短天期的趨勢指標向上突破長天期的指標時,就是買進訊號,反之則是賣出訊號。

我們就可以運用這樣的觀察,在自訂警示腳本時,把自訂指標的腳本copy過去,然後把最後兩行plot的敘述拿掉,放上 :

if value2 cross over value3

then ret=1;

這樣的警示條件,就可以完成一個新的警示腳本了。