大多数用户都有取区间时间序列数据的需求,但是我们提供了很多N日的函数。怎么利用N日的函数来取区间时间序列呢?
TSL中提供的TradeDays就是解决这个问题的最好方法,TradeDays就是获得两个时间间的交易日数(周期数)。
例如我们要获得2008-1-1日到2008-12-31日之间的交易日数,我们用
N:=TradeDays(IntToDate(20080101),IntToDate(20081231));
这样就可以得到了一个交易日数。
假如我们要返回的这个区间的收盘价序列,那么我们可以这么做:
BegT:=IntToDate(20080101);
EndT:=IntToDate(20081231);
SetSysParam(pn_stock(),"SZ000002"); //设置当前股票为深万科
SetSysParam(pn_date(),EndT); //将EndT设置成默认的时间,这样NDAY3就是从截止日开始往前算。
N:= TradeDays(BegT,EndT); //求出交易日数
Return Nday3(N, close());//取数据
当周期为1分钟的时候,获得的就是交易的分钟数了。
例如:
BegT:=IntToDate(20080101);
EndT:=IntToDate(20081231)+0.99; //0.99基本上是一天的最后时候,事实上,使用15/24也是可以的,在国内市场是下午3点收盘。
SetSysParam(pn_Stock(),”SZ000002”);
Return TradeDays(BegT,EndT);这样获得的就是2008年一整年万科的1分钟线的周期数。