# MarketData 市场行情数据
MarketData
该对象描述了市场行情数据。可以通过这个对象来访问指定的品种的各种数据,也可以维护接收数据的设置。
属性
属性 | 说明 | 备注 |
---|---|---|
AutoClose | 收盘后的自动收盘间隔时间, 通过此属性可以读取或修改【工具】--【选项】--【自动收盘】界面中的收盘间隔选项。 使用示例 读取: x=MarketData.AutoClose 写入:MarketData.AutoClose=15 | 读写 |
RenewDay | 是否允许补充日线数据, 通过此属性可以读取或修改【工具】--【选项】--【数据与存储】界面中的数据补充设置选项 , 注:不建议取消勾选,否则会会造成数据下载异常 | 读写 |
RenewMinute | 是否允许补充分笔数据 作用选项位置同上 | 读写 |
RenewMin5 | 是否允许补充5分钟数据 作用选项位置同上 | 读写 |
RenewSec5 | 是否允许补充5秒数据 作用选项位置同上 | 读写 |
RenewPower | 是否允许补充除权数据 作用选项位置同上 | 读写 |
HistoryDataMode | 历史数据处理处理模式,0表示共享模式(默认值),1表示独立模式;影响GetHistoryData、GetHistoryDataByDate等方法。 数据处理完毕后要调用DestroyHistoryData方法销毁内存缓冲区 示例: MarketData.HistoryDataMode=0,表示取到的数据对象为共享模式 MarketData.HistoryDataMode=1,采用独立模式,即打开不同品种可以分别处理各自的数据, | 读写 |
MustPower | 指示使用 GetHistoryData, GetHistoryDataByDate和 Stkindi 方法引用的数据是否采取数据复权 MustPower=0表示不使用复权功能, MustPower=1表示使用复权数据。该属性默认值为1 注:此属性只作用于VBA接口中上述的方法中 | 读写 |
TimeZoneType | 设置或者读取K线行情时区模式 0默认金字塔时区 1北京时区 | 读写 |
AllowTradingTime | 是否允许只在交易时间执行程序化 | 读写 |
NewsPath | 接收到的新闻公告资料存放路径 注意:如果频繁调用该属性,请注意使用完毕后释放返回值 | 只读 |
DynamicPath | 动态分时数据存放路径 注意:如果频繁调用该属性,请注意使用完毕后释放返回值 | 只读 |
MainPath | 主数据存放路径 注意:如果频繁调用该属性,请注意使用完毕后释放返回值 | 只读 |
MarketCount | 金字塔系统支持的市场数量,可在 工具->市场与板块 菜单中设置 | 只读 |
AlarmState | 后台程序化预警状态: 1=预警已开启 0=预警已停止 | 只读 |
StockPoolState | 股票池的运行状态 1=已开启 0=已停止 | 只读 |
RobotRunStatus | 机器学习运行状态 1=已开启 0=已停止 | 只读 |
方法
方法 | 说明 |
---|---|
GetReportData | 取指定品种行情数据ReportData 对象,该对象用于表示该品种最新行情数据 |
GetReportCount | 得到指定市场的品种数量. 例如:GetReportCount("SQ") 表示取上海期货交易所所有合约数量.如果调用失败返回-1 |
GetReportDataByIndex | 得到指定市场指定基于0索引的ReportData对象,该方法主要可以用来对整个市场的品种进行遍历 |
GetMinuteData | 取指定品种分笔数据MinuteData对象,对象表示该品种当日每笔的成交记录 |
GetHistoryData | 取指定品种历史数据HistoryData对象,该对象记录了该品种历史数据 |
GetHistoryDataByDate | 取指定品种日期时段的历史数据HistoryData对象,该对象记录了该品种历史数据 |
GetMarketInfo | 取指定品种市场Market对象,该对象记录了与该市场有关的一切设置 |
GetMarketInfo2 | 取指定市场Market对象,该对象记录了与该市场有关的一切设置。 例如: GetMarketInfo2("SQ") 表示取上海期货交易所的Market对象 |
AddStock | 添加一个品种到系统中(类似从代码表中添加) |
DeleteStock | 从系统中删除一个品种。 例如: DeleteStock("600000","SH"), 从上海证券市场删除品种代码为600000品种 |
IsExistStock | 判断指定市场的品种是否存在。是则返回1否则返回0。 例如:IsExistStock('600000','SH') 表示判断上海品种市场的60000是否存在 |
GetMarketByIndex | 得到指定基于0索引的市场Market对象. 例如:GetMarketByIndex(0) 表示得到第一个市场的Market对象. 市场数量可由 MarketCount 对象获取 |
RegReportNotify | 注册品种到数据通知 例如:RegReportNotify("CL05","NM")将合约注册到数据通知,当CL05有最新数据到达时触发ReportNotify事件 |
UnRegReportNotify | 取消品种数据注册 例如:UnRegReportNotify("CL05","NM"),CL05数据到达时不会再收到通知 |
Stkindi | 引用任意品种任意周期的任意指标输出 |
StartAlarmRun | 启动后台程序化预警 |
StopAlarmRun | 停止后台程序化预警 |
StartPython | 启动PYTHON程序化预警 |
StopPython | 停止PYTHON程序化预警 |
StartRobotV7.1+ | 开启机器学习 |
StopRobot | 停止机器学习 |
IsDataReceive | IsDataReceive(Market) 判断指定市场的行情服务器是否正常连接 |
RunUserDataRenew(Index) | 执行自定义数据补充操作,Index 参数,基于0开始得自定补充方案的序号 |
DoClose | 指定市场收盘作业 例如: DoClose("ZJ"),表示对中国金融期货交易所市场进行收盘作业动作 |
IsClose | 判断指定市场是否今日做个收盘作业 例如:IsClose("ZJ"),若做过当日收盘作业,返回1,否则返回0,若出错则返回-1,出错原因主要有市场代码不正确,或者参数为例如WH市场等24小时交易的市场等 |
IsAutoClose | 判断指定市场是否有勾选自动收盘功能,例如IsAutoClose("ZJ"),返回1表示有设置勾选自动收盘,返回0表示没有,返回-1表示错误 |
GetHistoryMinuteDataCount | 得到指定品种保存在本地硬盘的历史分笔数据天数(当日分笔数据不算) |
GetHistoryMinDataByIndex | 得到指定基于0索引的指定品种的历史本地分笔数据字符串格式的日期 |
DestroyMinuteData | 销毁使用GetMinuteData打开的内存缓冲区. 注意:对象使用完毕后一定要调用该方法销毁缓冲区,否则会占用内存 |
DestroyHistoryMinuteData | 销毁使用GetHistoryMinuteData打开的内存缓冲区. 注意:对象使用完毕后一定要调用该方法销毁缓冲区,否则会占用内存 |
DestroyHistoryData | 销毁使用GetHistoryData打开的内存缓冲区 注意:对象使用完毕后一定要调用该方法销毁缓冲区,否则会占用内存 |
GetHistoryMinuteData | 取指定品种历史分笔数据MinuteData对象,对象表示该品种每笔的成交记录 |
ChangeData | 转换分笔数据MinuteData对象至历史数据HistoryData对象 |
StkindiByData | 使用指定数据引用任意品种的指标输出 |
IsTraderTime | 判断指定品种当前是否在交易时间时段中 |
GetToNowTraderSecond | 获取指定日期时间距离现在本地时间经过了多少交易时间秒 |
IsWeekEnd | 判断当前是否为本周最后一个交易日,【仅限国内市场有效】 |
IsMonthEnd | 判断当前是否为本月最后一个交易日,【仅限国内市场有效】 |
NearestWeekEnd | 当前距离最近双休日的交易日间隔的天数(含当日),【仅限国内市场有效】 |
NearestHoliday | 当前距离最近节假日的交易日间隔的天数(含当日),【仅限国内市场有效】 |
TradingDatediff | 取得两个日期之间的交易日天数,【仅限国内市场有效】 |
期权相关 | |
OPTIONSIZE | 取指定标的指定月份的期权合约数量 |
OPTIONLABEL | 取指定索引的期权合约合约 |
OPOBYPRIRCE | 通过行权价获取相关期权合约,可以通过该方法函数方便的对标的合约的行权价相关的期权合约进行快速定位 |
结算价相关 | |
InitLoadSettlement | 初始化一个品种的昨结算价数据 |
GetSettlement | 读取一个品种的昨结算价数据 |
股票池相关 | |
StartStockPool | 开启股票池服务 |
StopStockPool | 停止股票池服务 |
ClearStockPool | 清空状态池 |
GetStockPoolCount | 读取和初始化指定股票池的数据 |
GetStockPoolData | 读取指定基于0索引的股票池的品种 |
SetStockPoolStatus | 设置指定股票池状态池的运行或停止状态 |
GetStatusCount | 读取指定股票池的状态池数量为遍历状态池做初始化服务 |
GetStatusName | 读取指定索引的状态池名称 |
FireRunStockPool | 强行触发指定的股票池中的状态池,不再理会状态池的公式条件和运行时段限制。 例如: MarketData.FireRunStockPool("股票池1","状态池2") 。返回1表示执行成功,返回0表示执行失败 |
自定义数据 | |
GetSelfData | 读取指定自定义数据内容 |
GetSelfDataByDate | 读取指定证券类相关序列类型的自定数据序列时间 |
SelfRefurbish | 异步模式立即刷新指定的自定义数据项 |
SelfRefurbishNow | 同步模式立即刷新指定的自定义数据项 |
财务数据 | |
GetFincance | 取指定品种市场Fincance对象,该对象记录了该品种的一些财务信息 |
# 深度财务数据
深度财务数据中,对于三大基本报表,根据非金融和金融分为:一般行业、证券、保险、银行四类。其中一般行业包含金融类品种共有字段。使用过程中若不需要针对金融类独有字段分析,那么仅使用一般行业报价即可满足需求。若需要获取金融类独有字段,请使用具体金融类财报函数获取。
金字塔财务字段手册:https://www.weistock.com/docs/Financial/notes/ (opens new window)。
注意:金融类(证券、保险、银行)资产负债表函数用法请参考:
GetT_BALANCE_STD_Count和GetT_BALANCE_STD_Item一般行业函数方法
方法 | 说明 |
---|---|
资产负债表 | |
GetT_BALANCE_STD_Count | 取一般工商业资产负债表指定品种数据记录数量 |
GetT_BALANCE_STD_Item | 取一般工商业资产负债表指定数据字段 |
GetT_BALANCE_ZQ_Count | 取指定证券行业品种资产负债表数据记录数量 |
GetT_BALANCE_ZQ_Item | 取指定证券行业品种资产负债表指定数据字段 |
GetT_BALANCE_BX_Count | 取指定保险行业品种资产负债表数据记录数量 |
GetT_BALANCE_BX_Item | 取指定保险行业品种资产负债表指定数据字段 |
GetT_BALANCE_YH_Count | 取指定品种银行业品种资产负债表数据记录数量 |
GetT_BALANCE_YH_Item | 取指定品种银行业品种资产负债表指定数据字段 |
利润分配表 | |
GetT_PROFIT_STD_Count | 取指定品种一般工商业业利润分配表数据记录数量 |
GetT_PROFIT_STD_Item | 取指定品种一般工商业业利润分配表指定数据字段 |
GetT_PROFIT_ZQ_Count | 取指定品种证券业利润分配表数据记录数量 |
GetT_PROFIT_ZQ_Item | 取指定品种证券业利润分配表指定数据字段 |
GetT_PROFIT_BX_Count | 取指定品种保险业利润分配表数据记录数量 |
GetT_PROFIT_BX_Item | 取指定品种一般行业利润分配表指定数据字段 |
GetT_PROFIT_YH_Count | 取指定品种银行业利润分配表数据记录数量 |
GetT_PROFIT_YH_Item | 取指定品种银行业利润分配表指定数据字段 |
现金流量表 | |
GetT_CASHFLOW_STD_Count | 取指定品种一般工商业品种现金流量表数据记录数量 |
GetT_CASHFLOW_STD_Item | 取指定品种一般工商业品种现金流量表指定数据字段 |
GetT_CASHFLOW_ZQ_Count | 取指定品种保险业品种现金流量表数据记录数量 |
GetT_CASHFLOW_ZQ_Item | 取指定品种一般行品种现金流量表指定数据字段 |
GetT_CASHFLOW_BX_Count | 取指定品种保险业品种现金流量表数据记录数量 |
GetT_CASHFLOW_BX_Item | 取指定品种保险业品种现金流量表指定数据字段 |
GetT_CASHFLOW_YH_Count | 取指定品种银行业品种现金流量表数据记录数量 |
GetT_CASHFLOW_YH_Item | 取指定品种银行业品种现金流量表指定数据字段 |
衍生数据 | |
GetT_FIN_INDICATOR_Count | 取指定品种衍生数据表数据记录数量 |
GetT_FIN_INDICATOR_Item | 取指定品种衍生数据表指定数据字段 |
股本结构 | |
GetT_COM_SHARE_Count | 取指定品种股本结构表数据记录数量 |
GetT_COM_SHARE_Item | 取指定品种股本结构表指定数据字段 |
持股股户数 | |
GetT_COM_HOLDER_Count | 取指定品种持股股户数数据记录数量 |
GetT_COM_HOLDER_Item | 取指定品种持股股户数指定数据字段 |
公司IPO信息表 | |
GetT_STOCK_INFORMATION_Item | 取指定品种上市公司IPO信息表数据字段 |
十大股东和十大流通股东 | |
GetT_HOLDER_TOP10_Count | 取指定品种十大股东表数据记录数量 |
GetT_HOLDER_TOP10_Item | 取指定品种十大股东表指定数据字段 |
GetT_TRADABLESHARE_TOP10_Count | 取指定品种十大流通股东表数据记录数量 |
GetT_TRADABLESHARE_TOP10_Item | 取指定品种十大流通股东表指定数据字段 |
股改限售解禁明细 | |
GetT_LIMITED_LIST_Count | 取指定品种股改限售解禁明细表数据记录数量 |
GetT_LIMITED_LIST_Item | 取指定品种十大股东表指定数据字段 |
申万行业分类 | |
GetT_LIMITED_LIST_Item | 取指定品种十大股东表指定数据字段 |
GetT_COM_SWHY2014_Item | 取指定品种对应的申万行业分类信息 |
事件
事件 | 说明 |
---|---|
StkDataOK | 当接收到最新数据时发生。参数意义: 0最新报表 1补日线 2补分时 3基本资料 4新闻和公告 5补财务除权数据 6补分笔成交数据 7补5分钟数据 8补1分钟数据 9补扩展 10补5秒线 |
StartReceive | 当开始接收数据时发生 |
StopReceive | 当关闭接收数据时发生 |
AlarmStart | 当用户启动预警交易时发生 |
AlarmStop | 当用户停止预警交易时发生 |
StockAlarm | 当出现本地预警信号时发生 |
ReportNotify | 当注册品种最新行情数据到达时发生 |
AlarmPleaceOrder | 当图表和后台程式化交易发出下单指令时发生 |
StockPoolNotify | 当股票池的状态池发生新增品种时发生 |
StockPoolNotifyIng | 当股票池的状态池发生新增品种时按照新增的品种逐一发生 |
StockPoolDeleteNotifyIng | 当股票池的状态池发生自动删除品种时按照删除的品种逐一发生 |
AlarmCalcBefor | 当后台程序化/预警准备计算刷新前发生 |
示例
'在Test过程中打印出上海600217品种当前最新价。
Sub test()
set Report1 = marketdata.GetReportData("600217","SH")
msgbox Report1.NewPrice
End Sub
1
2
3
4
5
6
7
2
3
4
5
6
7
'读取白糖得日线数据
Set HistroyData = marketdata.GetHistoryData("SRX00","ZQ",5)'若要是1分钟这里填0
for i = 0 to HistroyData.count-1
if i = 10 then
'显示第11个数据得时间,收盘,成交量
msgbox HistroyData.date(i)
msgbox HistroyData.Close(i)
msgbox HistroyData.Volume(i)
'数据处理完毕后,清理缓冲区
marketdata.DestroyHistoryData
end if
next
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
← 调试方法 Market_市场信息 →