A:一般而言,我们可以通过最常用的方式,设置高频周期,设置当前时间,就能获取到某个时点的价格了,如:
setsysparam(pn_stock(),'SZ000002');
setsysparam(pn_cycle(),cy_1m()); //分钟线
setsysparam(pn_date(),20190513.1430T); //下午两点半
return close();
返回:28.01
但是,在某个程序中,当前周期为低频,不想改变当前周期,以及当前时间等,只是需要再取某个时点的价格。
那么此时,我们推荐specall进行临时指定这类系统参数,再进行提取。
可快速实现如下:
setsysparam(pn_stock(),'SZ000002');
p:=specAll(close(),array(pn_cycle():cy_1m(),pn_date():20190513T+strtotime("14:30:00")));
return p;
返回:28.01
若需要精确到具体秒,则可修改周期为秒线(cy_1s())。
若还想指定与当前证券不同证券的数据,则可增加pn_stock()的指定,可改成如下:
p:=specAll(close(),array(pn_stock():"SH000300",pn_cycle():cy_1m(),pn_date():20190513T+strtotime("14:30:00")));
return p;
返回:3662.99