2008年8月21日 星期四

在分線中抓取日線的價格

在聚財網阿政的專欄中
有一篇文章..
在分線中抓取日線的價格

內容看標題就知道...
在HTS中 開啟分鐘線的畫面 然後抓取 前幾天日線的價格走勢

這裡用"在分鐘線抓取3日均線"當例子..

阿政的方法是...宣告一個變數..和三個放收盤價的變數
然後用抓收盤價的函數放到自己宣告的變數中..
程式碼就不附了...因為這樣只能抓到一天的資料...剩下的抓不到...

阿政提出了解決的方法...
就是 建立函數...把要抓的資料放在函數裡
所以 要抓3日收盤就要建立3個函數..
要用的時候在叫出函數就可以了
那 若是要抓120日均線...就要建立120個函數了
其實這樣很麻煩...

這應該是HTS的問題..
多日的價格走勢無法用一個陣列抓取

DK用了一個更方便的方法...
就是一個陣列對一個函數.
要三日均線 就 建立3個函數..
可參考Tradestation 程式碼轉 HTS

現在來實做一個 抓取前三日收盤的資料
HTS程式碼如下:
Array:CoD1[84](-1),CoD2[84](-1),CoD3[84](-1)
//宣告3個陣列:CoD1,CoD2,Cod3//
vars:closeD1(0),closeD2(0),closeD3(0)
//宣告3個變數:closeOfD1,closeOfD2,closeOfD3//
closeD1 = CloseOfD(1, CoD1)
closeD2 = CloseOfD(2, CoD2)
closeD2 = CloseOfD(3, CoD3)
//利用CloseOfD這函數和宣告的陣列把三天的收盤放到變數裡//


這樣closeD1 closeD2 closeD3
就是1天前 2天前 3天前的收盤了
不用在建立其他函數 比較方便..

要抓開盤低點高點 都可以用這方法
開盤:openofd(X.Y)
高點:highofd(X.Y)
低點:lowofd(X.Y)
收盤:closeofd(X.Y)

X是要抓取的日數 一天前是1 兩天前是2...
0就是今日不過 這只能抓開盤
其他是抓不到的 抓到了也不準 因為還沒收盤 怎麼會知道高點低點收盤??

Y就是函數了..上面實做中的"Array"就是宣告函數的意思
而CoD1[84](-1)中的"CoD1"就是函數名...可隨便取
那"[84](-1)"是什麼意思??哈哈 我不知道..

大概是這樣...
自己可以研究...

回家作業:試在5分k線中 畫出年均線 XD
HEMiDEMi Technorati Del.icio.us MyShare?犖?貊惜 Yahoo