A:下面给几个常见的批量提取的方式
范例01:取个股指定日1分钟线行情
stockid:="SZ000002";
endt:=20260421T;
setsysparam(pn_cycle(),cy_1m());//设置为分钟线
t:= select *,datetimetostr(['date']) as 'date'
from Markettable datekey endt to endt +16/24 of stockid end;
return t;
注:
1、若是需要其它周期,将cy_1m()更改成对应周期即可,其它周期可参考:FAQ:
周期函数
2、若是不需要所有字段,只需要个别字段,可通过将select *改成select ['vol'],['close']的方式进行指定,具体可参考:FAQ:
Q:高频、超高频数据说明
字段列表说明:FAQ:
交易明细表tradetable、分时表markettable
范例02:取多个股票指定日1分钟线行情
stocks:=array("SZ000002","SH600000","SH000300"); //指定多个证券
endt:=20260421T;
setsysparam(pn_cycle(),cy_1m());//设置为分钟线
t:= select *,datetimetostr(['date']) as 'date'
from Markettable datekey endt to endt +16/24 of stocks end;
return t;
范例03:取多个股票多日的1分钟线行情
stocks:=array("SZ000002","SH600000","SH000300"); //指定多个证券
begt:=20260420T;
endt:=20260421.16T; //注意:要带上时间部分
setsysparam(pn_cycle(),cy_1m());//设置为分钟线
t:= select *,datetimetostr(['date']) as 'date'
from Markettable datekey begt to endt of stocks end;
return t;
范例04:取指定日A股某截面的1分钟线行情
endtime:=strtodatetime("2026-4-21 10:31:00");
endt:=dateof(endtime);
stocks:=getAbkbydate("A股",endt); //指定多个证券
setsysparam(pn_cycle(),cy_1m());//设置为分钟线
t:= select *,datetimetostr(['date']) as 'date'
from Markettable datekey endtime to endtime of stocks end;
return t;
多截面,则datekey endtime to endtime 改成datekey 开始时间 to 截止时间 模式即可。
更多,比如指定日所有A股的所有分钟线行情,由于数据量较大,不建议一次性提取,一般处理逻辑可参考:FAQ:
Q:天软客户端如何下载一段时间的高频行情数据到本地?