A:在取当前时间时:
sp_time()返回的一定是交易日,如果被设置的日期不是交易日,则返回它前一个交易日;
而sp_time(1)返回的是设置的日期,而不管它是不是交易日;
当用在取序列时间时:sp_time(1)与sp_time()效果一致,都是返回交易日序列。可以在平台上运行下述代码查看不同:
//当前值
setsysparam(pn_stock(),'SH000001');
setsysparam(pn_cycle(),cy_day());
setsysparam(pn_date(),inttodate(20100905)); //20100905是周日
return array('sp_time()':datetostr(sp_time()),'sp_time(1)':datetostr(sp_time(1)));
结果:
//序列值
setsysparam(pn_stock(),'SH000001');
setsysparam(pn_cycle(),cy_day());
setsysparam(pn_date(),inttodate(20100905)); //20100905是周日
return nday(5,'sp_time()',sp_time(),'sp_time(1)',sp_time(1));
结果对时间序列CTRL+D: