2016年4月22日 星期五

函數:最近第N個交易時段的日線最高價


程式交易小學堂─期貨投機事業的王道
在上一篇文章(http://www.yctseng.net/2016/04/n.html),我們有了正確計算目前 K棒是該交易時段內的第幾根,接著要來引用它做出取代 highD(N) 的函數:抓取最近第N個交易時段的最高價,名稱: _highSession(N),參數:第N個交易時段,回傳值類型:數值。



以下即為函數程式碼:
input: daysAgo(Numeric);
array: record[](0);
var: temp(0);

array_setmaxindex(record, daysAgo+1);

temp= highest(High,_NthBarInSession);

if _NthBarInSession=1 then begin
  _arrayShift(record);
  record[1]= temp[1];
end;


if daysAgo=0 then
  _highSession= temp
else
  _highSession= record[daysAgo];  


接著,我們比較看看,這個函數跟內建的 highD 會有怎樣的差異?綠色的線是 highD,紫紅色的線則是 _highSession。從下圖中的兩條線,與交易時段區分線,我想你一定很容易可以看出 highD 在這類交易時段會跨日的商品上,會有什麼問題了。


還有相對於內建的 openD、lowD、closeD ,就自行依樣畫葫蘆的做出 _openSession、_lowSession、_closeSession 吧 ^_^

熱門文章