固定用法:
select ['字段名1'],['字段名2'],.../*
from markettable datekey 开始时间
to 截止时间
of stocks
where 条件
end;
其中,
1、stocks可以是字符串或一维证券代码序列
单个证券代码,如"SH600000",
多个证券,可以用分号或逗号分割,如"SH600000;SZ000002;SH000300",或"SH600000,SZ000002,SH000300"
也可以通过一维序列array(stockid1,stockid2,...),如array("SH600000","SZ000002","SH000300")
2、where条件可省;
3、若取日内高频,开始时间与截止时间需精确到时间点。
取数示例:
取出昨天到今天的市场数据。
Return Select * ,datetimetostr(['date']) as 'date' from MarketTable DateKey Now()-1 to Now() Of "SZ000002" end;
如果取指定时间区间每日收盘价序列:
setsysparam(pn_cycle(),cy_day());//日线
Return sSelect ["close"] from MarketTable DateKey 20170301T to 20170320T Of "SZ000002" end;
如果要取的数据是5秒线
SetSysParam(pn_cycle(),cy_5s());
Return Select * ,datetimetostr(['date']) as 'date' from MarketTable DateKey 20170320.0930T to 20170320.1030T Of "SZ000002" end;
取多支票一段时间内的日线收盘价:
//setsysparam(pn_cycle(),cy_day());//若没有周期设置这一句,则默认取日线数据
Return Select ['StockID'],datetimetostr(['date']) as 'date',['close']
from Markettable Datekey 20170301T to 20170320T
of array('SZ000002','SH600000','SH600009') end;
表格字段详细说明:FAQ:
Q:高频、超高频数据说明