




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据信息接收规范 *最后更新时间: 2004.10.20 在注册库的 HKEY_LOCAL_MACHINE/SOFTWARE/StockDrv 下 * Driver = 驱动DLL全路径 按字节对齐编译 = * */#ifndef _STOCKDRV_H_#define _STOCKDRV_H_/图文卡兼容消息定义/ 工作方式类型定义#define RCV_WORK_DEMAND 0 / 查询接口,方式一#define RCV_WORK_MEMSHARE 2 / 内存共享直接引用#define RCV_WORK_SENDMSG 4 / 版本 2 建议使用的方式 #define RCV_WORK_AUTH 6 / 带软件授权方式/ 其他工作方式保留#define RCV_WORK_RITE_ACTIVE 0xA95 /主动请求模式,用于扩展接口/ 市场标识定义#define SH_MARKET_EX HS / 上海#define SZ_MARKET_EX ZS / 深圳/ 文件数据类型/ 结构数组形式的文件数据#define FILE_HISTORY_EX 2 / 补日线数据#define FILE_MINUTE_EX 4 / 补分钟线数据#define FILE_BASE_EX 0x1000 / 钱龙兼容基本资料文件,m_szFileName仅包含文件名#define FILE_NEWS_EX 0x1002 / 新闻类,其类型由m_szFileName中子目录名来定#define FILE_TYPE_RES -1 / 保留/ 消息子类型#define News_Sha_Ex 2 / 上证消息#define News_Szn_Ex 4 / 深证消息#define News_Fin_Ex 6 / 财经报道#define News_TVSta_Ex 8 / 电视台通知#define News_Unknown_Ex -1 / 未知提供者/Definition For nInfo of Function GetStockDrvInfo(int nInfo,void * pBuf);#define RI_IDSTRING 1 / 厂商名称,返回(LPCSTR)厂商名#define RI_IDCODE 2 / 卡号#define RI_VERSION 3 / 驱动程序版本#define RI_ERRRATE 4 / 取信道误码#define RI_STKNUM 5 / 取上市股票总家数#define RI_V2SUPPORT 6 / 支持深圳SJS库结构#define RI_DATAREQUEST 7 / 双向传输接口,支持数据请求 #define STKLABEL_LEN 10 / 股号数据长度,国内市场股号编码兼容钱龙#define STKNAME_LEN 32 / 股名长度/#pragma pack(1)/行情数据, 不带买卖4/注:/ 某些字段可能为0,用上次的数据代替typedef struct tagRCV_REPORT_STRUCTEx WORD m_wMarket; / 股票市场类型 char m_szLabelSTKLABEL_LEN;/ 股票代码,以0结尾 char m_szNameSTKNAME_LEN; / 股票名称,以0结尾 float m_fLastClose; / 昨收 float m_fOpen; / 今开 float m_fHigh; / 最高 float m_fLow; / 最低 float m_fNewPrice; / 最新 float m_fVolume; /(手)成交量,以股为单位,股的含义依股票类型定义 float m_fAmount; / 成交额,以元为单位/注:国债的成交量单位为百手,金额单位为十元/其他指数、A股、B股、基金成交量为手,金额为元 float m_fBuyPrice3; / 申买价1,2,3 float m_fBuyVolume3;/ 申买量1,2,3 float m_fSellPrice3;/ 申卖价1,2,3 float m_fSellVolume3;/ 申卖量1,2,3 RCV_REPORT_STRUCTEx;/行情数据, 带买卖4typedef struct tagRCV_REPORT_STRUCTEx_3 WORD m_cbSize; / 结构大小 time_t m_time; / 成交时间 WORD m_wMarket; / 股票市场类型 char m_szLabelSTKLABEL_LEN; / 股票代码,以0结尾 char m_szNameSTKNAME_LEN; / 股票名称,以0结尾 float m_fLastClose; / 昨收 float m_fOpen; / 今开 float m_fHigh; / 最高 float m_fLow; / 最低 float m_fNewPrice; / 最新 float m_fVolume; / 成交量 float m_fAmount; / 成交额 float m_fBuyPrice3; / 申买价1,2,3 float m_fBuyVolume3; / 申买量1,2,3 float m_fSellPrice3; / 申卖价1,2,3 float m_fSellVolume3; / 申卖量1,2,3 float m_fBuyPrice4; / 申买价4 float m_fBuyVolume4; / 申买量4 float m_fSellPrice4; / 申卖价4 float m_fSellVolume4; / 申卖量4RCV_REPORT_STRUCTEx_3, *PRCV_REPORT_STRUCTEx_3;/单元数据头/单元数据头 m_dwHeadTag = EKE_HEAD_TAG #define EKE_HEAD_TAG 0xfffffffftypedef struct tagRCV_EKE_HEADEx DWORD m_dwHeadTag; / = EKE_HEAD_TAG WORD m_wMarket; / 市场类型 char m_szLabelSTKLABEL_LEN; / 股票代码RCV_EKE_HEADEx;/补充日线数据/ 注:/ 每一数据结构都应通过 m_time = EKE_HEAD_TAG,判断是否为 m_head,然后再作解释typedef union tagRCV_HISTORY_STRUCTEx struct time_t m_time; /UCT float m_fOpen; /开盘 float m_fHigh; /最高 float m_fLow; /最低 float m_fClose; /收盘 float m_fVolume; /量 float m_fAmount; /额 WORD m_wAdvance; /涨数,仅大盘有效 WORD m_wDecline; /跌数,仅大盘有效 ; RCV_EKE_HEADEx m_head;RCV_HISTORY_STRUCTEx;/补充分时线数据/ 注:/ 每一数据结构都应通过 m_time = EKE_HEAD_TAG,判断是否为 m_head,然后再作解释typedef union tagRCV_MINUTE_STRUCTEx struct time_t m_time; / UCT float m_fPrice; float m_fVolume; float m_fAmount; ; RCV_EKE_HEADEx m_head; RCV_MINUTE_STRUCTEx;/ 文件类型数据包头/ 注一:/ m_wDataType = FILE_BASE_EX/ m_dwAttrib = 股票证券市场,m_szFileName仅包含文件名/ m_FileTime = 基本面资料文件创建日期/ m_wDataType = FILE_NEWS_EX/ m_dwAttrib = 消息来源,m_szFileName 包含目录的文件名,目录名为消息来源/ m_dwSerialNo = 序列号/ 如: 上交所消息0501Z012.TXT,新兰德XLD0001.TXT/ 注二:/ 数据文件循环播出,每个文件有唯一的序列号,以避免重复接收typedef struct tagRCV_FILE_HEADEx DWORD m_dwAttrib; / 文件子类型 DWORD m_dwLen; / 文件长度 union DWORD m_dwSerialNo; / 序列号,对股评 time_t m_FileTime; / 文件创建时间 ; char m_szFileName_MAX_PATH; / 文件名 or URL RCV_FILE_HEADEx;/ 数据通知消息/ wParam = RCV_WPARAM;/ lParam 指向 RCV_DATA结构;/ 返回 1 已经处理, 0 未处理或不能处理,目前该返回值被忽略#define RCV_REPORT 0x3f001234#define RCV_FILEDATA 0x3f001235/ 注一:/ 记录数表示行情数据和补充数据(包括 Header)的数据包数,对文件类型数据, = 1/ 注二:/ 若 m_bDISK = FALSE, m_pData 为消息股评等数据缓冲区指针/ * 数据共享,不能修改数据 */ m_bDISK = TRUE, m_pData 为该文件的存盘文件名,一般情况只有/ 升级软件等大文件用存盘方式typedef struct tagRCV_DATA int m_wDataType; / 文件类型 int m_nPacketNum; / 记录数,参见注一 RCV_FILE_HEADEx m_File; / 文件接口 BOOL m_bDISK; / 文件是否已存盘的文件 union RCV_REPORT_STRUCTEx * m_pReport; / 行情数据 RCV_REPORT_STRUCTEx_3 * m_pReport3; / 行情数据 RCV_HISTORY_STRUCTEx * m_pDay; / 日线 RCV_MINUTE_STRUCTEx * m_pMinute; / 分时 void * m_pData; / 参见注二 ; RCV_DATA;/APIs#ifdef _cplusplusextern C#endif/ 注册函数/ 股票初始化/ 入口参数:/ hWnd 处理消息的窗口句柄/ Msg 用户自定义消息/ nWorkMode 接口工作方式,目前只能为 RCV_WORK_MEMSHARE/ 返回参数:/ 1 成功/ -1 失败/ 注:/ 注册后,驱动程序会向处理窗口发送消息; 若不注册,通过查询方式亦可取得数据/ 若股票接收没启动,则启动股票接收程序int WINAPI Stock_Init(HWND hWnd,UINT Msg,int nWorkMode);/ 退出,停止发送消息/ 入口参数:/ hWnd 处理消息的窗口句柄,同 Stock_Init 的调用入口参数/ 返回参数:/ 1 成功 / -1 失败int WINAPI Stock_Quit(HWND hWnd);/ 行情接口 / 取已接收到的股票总数int WINAPI GetTotalNumber(); / 由序号取股票数据(扩展)/ 入口参数: / nNo 序号/ pBuf 存放股票数据的缓冲区/ 返回参数:/ NoStockData 无股票数据 / 注:/ 该函数提供股票数据的主要数据;分析软件刚运行时,可以快速建立数据框架int WINAPI GetStockByNoEx(int nNo,RCV_REPORT_STRUCTEx_3 * pBuf); / 由股号取股票数据(扩展)/ 入口参数: / pszStockCode股票代号 / nMarket 证券市场/ pBuf 存放股票数据的缓冲区/ 返回参数:/ NoStockData 无股票数据 / 注:/ 该函数提供股票数据的主要数据;分析软件刚运行时,可以快速建立数据框架int WINAPI GetStockByCodeEx(char * pszStockCode,DWORD nMarket,RCV_REPORT_STRUCTEx * pBuf);/ 激活接收程序,进行设置/ 入口参数:/ bSetup TRUE 显示窗口,进行设置/ 返回参数:/ 1 成功/ -1 失败int WINAPI SetupReceiver(BOOL bSetup);/ 取得股票驱动信息/ 入口参数:/ nInfo 索引/ pBuf 缓冲区/ 出口参数:/ nInfo = RI_IDSTRING, 返回特征字符串长度, pBuf 为特征字符串/ 如: TongShi_StockDrv_1.00/ nInfo = RI_IDCODE, 返回信息卡 ID 号, pBuf 为字符串形式的 ID 号/ 如: 0x78001234 78001234/ nInfo = RI_VERSION, 返回信息卡版本号, pBuf 为字符串版本/ 如: 1.00 1.00 / nInfo = RI_ERRRATE, 取信道误码,/ nInfo = RI_STKNUM, 取上市股票总家数/ nInfo = RI_V2SUPPORT, 返回是否支持深圳SJS库结构, pBuf无效DWORD WINAPI GetStockDrvInfo(int nInfo,void * pBuf);#ifdef _cplusplus#endif#endif / _STOCKDRV_H_#ifndef _RAINSTOCKDRV_H_#define _RAINSTOCKDRV_H_/*及时通扩展通视卡接口部分* 扩展原则:完全兼容通视卡的功能,保证原有功能正常工作,基于个股请求数据 扩展项目:主动取分时数据, 主动取分笔数据 取股票代码 取F10 为实现扩展接口的功能,在处理时注意以下几点, 1扩展部分的数据到位通知通过消息DA_SERVICE_MSG_EXT(或通过SetExtMsg自定义)通知到达。 2数据通过消息通知到达,数据结构为STRUCT_REXT_HEADn个数据结构单元 - | STRUCT_REXT_HEAD | - | | | 扩展数据结构 | | | -*/#define DA_SERVICE_MSG_EXT WM_APP + 255 /扩展接口#defineDA_SERVICE_MSGWM_APP + 256 #define RCV_EXT_TRADEDATA 0X5A11 /带买卖3的分笔数据 STCP_QBD_STRUCT#define RCV_EXT_KDATA 0X5A21 /个股日线数据 RITK_STRUCT #define RCV_EXT_TRADEDATAV2 0X5A15 /带买卖4的分笔数据, STCP_QBD6_STRUCT#define RCV_EXT_STOCKTABLE 0x5A22 /股票代码表 RCV_STOCK_CELLEx#define RCV_EXT_COMPASSRIGHT 0X5B20 /指南针流通盘数据#defineRCV_EXT_M5K 0x5A23/五分钟K线/主动请求数据的信息结构#define REQUEST_DYNAMIC0X0001/请求分笔数据#define REQUEST_MIN0X0002/请求分时数据#define REQUEST_MIN50X0004/请求5分钟数据#define REQUEST_DAY0X0008/请求历史日K线数据#define REQUEST_BASE0X0010/请求基本面资料#define REQUEST_STOCKTABLE0X0020/请求股票代码表#define REQUEST_NEWS0X0040/请求新闻公告资料#define REQUEST_FINDATA 0X0A00 /请求财务数据 #define REQUEST_PWRDATA 0X0A01 /请求除权数据#define REQUEST_5MKDATA 0x0A02 /五分钟K线typedef struct tagSEND_REQUEST_INFWORDm_wType;/请求的数据类型TCHAR m_szCodeSTKLABEL_LEN;/股票代码,以0结束WORDm_wMarket;/股票市场类型time_tm_tmBegin;/请求的起始时间time_tm_tmEnd;/请求的终止时间SEND_REQUEST_INF;/* 对SEND_REQUEST_INF结构体的说明:当m_wType=REQUEST_DYNAMIC 时,请求分笔数据m_szCode : 股票代码m_wMarket: 市场类型m_tmBegin: 所属的交易日,时间精确到天,小时、分不计m_tmEnd : (保留)当m_wType=REQUEST_MIN 时,请求分时数据(以单向传输的格式返回)m_szCode : 股票代码m_wMarket: 市场类型m_tmBegin: 所属的交易日,时间精确到天,小时、分不计m_tmEnd : (保留)当m_wType=REQUEST_MIN5 时,请求5分钟数据(以单向传输的格式返回)m_szCode : 股票代码m_wMarket: 市场类型m_tmBegin: 所属的交易日,时间精确到天,小时、分不计m_tmEnd : (保留)当m_wType=REQUEST_DAY 时,请求历史日K线数据(以单向传输的格式返回)m_szCode : 股票代码m_wMarket: 市场类型m_tmBegin: 起始交易日,时间精确到天,小时、分不计。m_tmBegin=0,取所有日K线m_tmEnd : (保留)当m_wType=REQUEST_BASE 时,请求基本面资料(以单向传输的格式返回)m_szCode : 股票代码m_wMarket: 市场类型m_tmBegin: (保留)m_tmEnd : (保留)当m_wType=REQUEST_STOCKTABLE 时,请求股票代码表m_szCode : (保留)m_wMarket: (保留)m_tmBegin: (保留)m_tmEnd : (保留) 当m_wType=REQUEST_NEWS 时,请求新闻公告资料(以单向传输的格式返回)m_szCode : (保留)m_wMarket: (保留)m_tmBegin: (保留)m_tmEnd : (保留)*/typedef struct _STRUCT_REXT_HEAD_ TCHAR m_CodeSTKLABEL_LEN; TCHAR m_NameSTKLABEL_LEN; WORD m_wMarket; / 市场类型 WORD m_Service; / 类型如下 /* #define RCV_EXT_TRADEDATA 0X5A11 /带买卖3的分笔数据 STCP_QBD_STRUCT #define RCV_EXT_KDATA 0X5A21 /个股日线数据 RITK_STRUCT #define RCV_EXT_TRADEDATAV2 0X5A15 /带买卖4的分笔数据, STCP_QBD6_STRUCT #define RCV_EXT_STOCKTABLE 0x5A22 /股票代码表 RCV_STOCK_CELLEx #define RCV_EXT_COMPASSRIGHT 0X5B20 /指南针流通盘数据 */ int m_num; /交易笔数 time_t m_mt; /交易时间 DWORD m_unused4;STRUCT_REXT_HEAD;typedef struct _STRUCT_STCP_QBD_ time_t fTime ; /时间(精确到秒)fTime float fPrice ; /当前成交价 fPrice float fVolumn ; /总成交量 fVolumn float fAmount; /总成交额 fAmount float fBuyP3; /申买价 fBuyP3 float fBuyV3; /申买量 float fSellP3; /申卖价 float fSellV3; /申卖量 STCP_QBD_STRUCT ; / typedef struct _STRUCT_STCP_QBD6_ time_t fTime ; /时间(精确到秒)fTime float fPrice ; /当前成交价 fPrice float fVolumn ; /总成交量 fVolumn float fAmount; /总成交额 fAmount float fBuyP4; /申买价 fBuyP3 float fBuyV4; /申买量 float fSellP4; /申卖价 float fSellV4; /申卖量 STCP_QBD6_STRUCT ; /K线数据结构typedef struct _STRUCT_RITK_ time_t m_time; /UCT float m_fOpen; /开盘 float m_fHigh; /最高 float m_fLow; /最低 float m_fClose; /收盘 float m_fVolume; /量 float m_fAmount; /额RITK_STRUCT ; /股票代码表单元结构:typedef struct tagRCV_STOCK_CELLEx WORD m_wMarket; / 股票市场类型 char m_szLabelSTKLABEL_LEN;/ 股票代码,以0结尾 char m_szNameSTKNAME_LEN; / 股票名称,以0结尾RCV_STOCK_CELLEx ;/APIs#ifdef _cplusplusextern C#endif/*设置扩展消息标志*/int WINAPI SetExtMsg(UINT msg);/*取个股K线数据* scode: 股票代码, 以0结尾 mt : 日线数据起始交易日, 时间精度到天,小时、分不计, mt 0表示取所有日线 返回 : 1 成功 -1 失败 日线数据以通视卡的格式返回*/int WINAPI QueryKData(LPCSTR scode, DWORD nMarket, time_t mt);/*取分时数据* scode: 股票代码, 以0结尾 mt : 分时数据所属底交易日, 时间精度到天,小时、分不计 返回 : 1 成功 -1 失败 分时数据以通视卡的格式返回*/int WINAPI QueryMinData(LPCSTR scode, DWORD nMarket, time_t mt);/*取交易分笔数据* scode: 股票代码, 以0结尾 mt : 分时数据所属底交易日, 时间精度到天,小时、分不计 返回 : 1 成功 -1 失败 分笔数据格式见下面, 当数据准备好后,通过消息DA_SERVICE_MSG_EXT通知数据已准备好。*/int WINAPI QueryTradeData(LPCSTR scode, DWORD nMarket, time_t mt);/ 功能:主动请求数据/ 入口参数:/lpInfo :请求数据的信息。它是一个指向SEND_REQUEST_INF结构体变量的指针。/详细信息,请参见SEND_REQUEST_INF的定义。/ 返回参数:/1成功/ -1失败int WINAPI QueryData(const void* pInfo);/*取新闻公告资料* channel: 新闻频道, 以0结尾 fmt: 保留,目前无效 返回 : 1 成功 -1 失败 */ int WINAPI GetNews(LPCSTR channel = NULL, time_t fmt =0 );/*取个股基本面资料* scode: 股票代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境科学考研真题及答案
- 2025年医师资格考试医学综合“年两试”中医执业助理医师综合练习题及答案
- 2025年慈溪焊工考试试题及答案
- 机场无线电台操纵修理工岗位操作规程考核试卷及答案
- 小学劳动考试试题及答案
- 中山市2025年医师资格考试(实践技能)复习题库及答案
- 木刻水印雕刻版印刷员标准化作业考核试卷及答案
- 油锯工标准化作业考核试卷及答案
- 井筒维修工招聘考核试卷及答案
- 湖南娄底市2025年医师资格考试(实践技能)复习题库及答案
- 2025双11大促商家一站式指南
- 助理医师考试题库及答案
- 咖啡基础培训课件
- 人才服务合同书
- 2025年工会财务大赛理论题库(附答案)
- 家庭经济困难学生认定申请表
- 生理学全套课件
- GB 30678-2014 客车用安全标志和信息符号(高清版)
- 电力管道、电力井施工方案
- 中国传统节气二十四节气秋分简介农民丰收节专题资料PPT课件
- 起诉状(变更抚养权)
评论
0/150
提交评论