探討變數序列的觀念:幾天前黃金交叉商品為例
選擇單元...
XS語法進階應用
單元目錄
單元目錄
進階功能介紹
1-1 SetTotalBar資料讀取範圍與腳本執行的關係
1-2 SetBackBar指定頻率設定資料筆數
1-3 探討變數序列的觀念:幾天前黃金交叉商品為例
1-4 如何運用Print指令來抓程式的臭蟲
1-5 談OutputField跟GetFieldDate這兩個函數
1-6 計算區間漲跌幅的自訂函數
1-7 盤中即時資料欄位的應用
1-8 Tick欄位的應用
1-9 台股逐筆撮合的連續成交Tick序列
1-10 選股中心創掛牌新高與大單欄位的應用
1-11 集保相關欄位調整
1-12 如何使用函數取得商品的實際庫存數量
1-13 XS在可轉債的應用
1-14 XS函數「isfirstcall」說明
1-15 XScript 編輯器已支援 *.xs 副檔名的檔案
有朋友問到,系統內有提供很多找出均線黃金交叉,MACD黃金交叉的腳本,可是這些腳本好像都是要找現在黃金交叉的商品。那如果我想要找的是幾天前黃金交叉的商品,那XS辦得到嗎?今天就在這一篇文章內跟大家介紹如何做到這樣子的功能。首先我們來看一下均線黃金交叉的腳本:
input: Shortlength(5, "短期均線期數"); input: Longlength(20, "長期均線期數"); Value1 = Average(Close,Shortlength); Value2 = Average(Close,Longlength); If Value1 cross over Value2 then ret = 1;在這個腳本我們先計算短期的均線數字,把他存在Value1裡面,再計算長期的均線數字,把他存在Value2裡面,然後判斷Value1是否向上穿越(cross over)Value2,如果是的話則觸發。從這段腳本內,我們只有看到Value1, Value2這兩個數字,他們代表的就是最新的短期均線跟長期均線的數值。可是,大家應該也知道,XS腳本在執行時是從左往右一根一根執行的,而這裡最重要的觀念是,在執行的過程內,每一根K棒執行時所計算過的數值,都是有存下來的。要存取這些在之前K棒所算過的數值的方式,就跟存取前一根K棒的價格的方式一樣,是採用[1]的方式來取得。所以,如果要找到前一期黃金交叉的商品的話,只需要把判斷向上穿越的程式碼從Value1改成Value1[1]就可以了。
input: Shortlength(5, "短期均線期數"); input: Longlength(20, "長期均線期數"); Value1 = Average(Close,Shortlength); Value2 = Average(Close,Longlength); If Value1[1] cross over Value2[1] then ret = 1;這樣子是不是很簡單呢?最後跟大家做個整理:在腳本內的每一個計算後的數值,例如Value1, Value2,或是其他你自己命名的變數,其實都是像Open,High,Low,Close一樣是一個時間序列。而這個變數的前一筆的數值,就是腳本在上一根K棒執行時所產生的數值。再來看一個例子:
Value1 = Close - Close[1]; if Value1 > 0 And Value1[1] > 0 And Value1[2] > 0 then ret=1;大家可以看得出這個腳本要找的是什麼商品了嗎?就祝大家作多的股票都跟這個腳本一樣,連續上漲三天喔!!