Q:系统时间设置为盘前非交易时点时当前交易时间如何判定?
A:
当系统时间设置在非交易时间时,当前交易时间表现为系统周期下距离当前非交易时间的最近一条交易数据的时间。
比如系统时间设置为T日18:00,当前交易时间1分钟周期下为T日15:00,日线周期下为T日00:00。
详情参考:FAQ:
sp_time
但随着距离下一个交易日开盘越来越近,非交易系统时间下当前时间在不同周期下的判定会发生变更,具体如下:
资产类别 | 分钟线_截止时间 | 分钟线_当前时间 | 秒线_截止时间 | 秒线_当前时间
|
---|
股票 | T日08:59:00:001 | T日第一个周期
比如1分钟线:T日09:31:00 | T日08:59:59:001 | T日第一个周期
比如3秒线:T日09:30:03
|
基金 | 同股票 | 同股票 | 同股票 | 同股票
|
债券 | 同股票 | 同股票 | 同股票 | 同股票
|
指数 | 同股票 | 同股票 | 同股票 | 同股票
|
期货(无夜盘) | 同股票 | 同股票 | 同股票 | 同股票
|
期权(无夜盘) | 同股票 | 同股票 | 同股票 | 同股票
|
期货(有夜盘) | T-1日20:59:00:001 | T日第一个周期
比如1分钟线:T-1日21:01:00 | T-1日20:59:59:001 | T日第一个周期
比如3秒线:T-1日21:00:03
|
期权(有夜盘) | 同期货(有夜盘) | 同期货(有夜盘) | 同期货(有夜盘) | 同期货(有夜盘)
|
期货指数线 | 同期货 | 同期货 | 同期货 | 同期货
|
范例:设置股票SZ000001在系统时间为盘前09:00时不同周期下交易时间的判定
setsysparam(pn_stock(),"SZ000001");
SetSysParam(pn_date(),20250106.0900t);
rt:=array();
SetSysParam(pn_cycle(),cy_day());
rt[cy_day()]:=datetimetostr(sp_time());
SetSysParam(pn_cycle(),cy_1m());
rt[cy_1m()]:=datetimetostr(sp_time());
SetSysParam(pn_cycle(),cy_3s());
rt[cy_3s()]:=datetimetostr(sp_time());
return rt;
