# 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 指示使用 GetHistoryDataGetHistoryDataByDateStkindi 方法引用的数据是否采取数据复权
 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

'读取白糖得日线数据
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