起因是从 数据提供商取到的股指期货的结算价更新比较晚,一般收盘后还是昨天的数据。
而页面更新后接口基本还要延迟个半个多小时,就想试试从网页上抓取。
目前没有很好的办法,记录下这几天的集中尝试思路:
1. 从通达信上抓取: 股票,网上有个tdxHqApi.dll, 存在有效期,可以获取股票的行情数据。
股指期货,传说中的tdxExHq.dll, 没有找到,但某网站提供了一个demo,这个demo确实取到了数据。
网上找到的接口如下:
//开发文档 // //1.行情API均是TdxHqApi.dll文件的导出函数,包括以下函数:(所有行情函数均为客户端主动请求查询,不是服务器推送) //bool TdxHq_Connect(char* IP, int Port, char* Result, char* ErrInfo);//连接券商行情服务器 //void TdxHq_Disconnect();//断开服务器 //bool TdxHq_GetSecurityCount(byte Market, short& Result, char* ErrInfo);//获取指定市场内的证券数目 //bool TdxHq_GetSecurityList(byte Market, short Start, short& Count, char* Result, char* ErrInfo);//获取市场内指定范围内的所有证券代码 //bool TdxHq_GetSecurityBars(byte Category, byte Market, char* Zqdm, short Start, short& Count, char* Result, char* ErrInfo);//获取股票K线 //bool TdxHq_GetIndexBars(byte Category, byte Market, char* Zqdm, short Start, short& Count, char* Result, char* ErrInfo);//获取指数K线 //bool TdxHq_GetMinuteTimeData(byte Market, char* Zqdm, char* Result, char* ErrInfo);//获取分时图数据 //bool TdxHq_GetHistoryMinuteTimeData(byte Market, char* Zqdm, int date, char* Result, char* ErrInfo);//获取历史分时图数据 //bool TdxHq_GetTransactionData(byte Market, char* Zqdm, short Start, short& Count, char* Result, char* ErrInfo);//获取分时成交 //bool TdxHq_GetHistoryTransactionData(byte Market, char* Zqdm, short Start, short& Count, int date, char* Result, char* ErrInfo);//获取历史分时成交 //bool TdxHq_GetSecurityQuotes(byte Market[], char* Zqdm[], short& Count, char* Result, char* ErrInfo);//获取盘口五档报价 //bool TdxHq_GetCompanyInfoCategory(byte Market, char* Zqdm, char* Result, char* ErrInfo);//获取F10信息类别 //bool TdxHq_GetCompanyInfoContent(byte Market, char* Zqdm, char* FileName, int Start, int Length, char* Result, char* ErrInfo);//获取F10信息内容 //bool TdxHq_GetXDXRInfo(byte Market, char* Zqdm, char* Result, char* ErrInfo);//获取权息数据 //bool TdxHq_GetFinanceInfo(byte Market, char* Zqdm, char* Result, char* ErrInfo);//获取财务数据
//3.各个函数功能说明 /// <summary> /// 连接通达信行情服务器 /// </summary> /// <param name="IP">服务器IP,可在券商通达信软件登录界面“通讯设置”按钮内查得</param> /// <param name="Port">服务器端口</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool (__stdcall* TdxHq_ConnectDelegate)(char* IP, int Port, char* Result, char* ErrInfo); /// <summary> /// 断开同服务器的连接 /// </summary> typedef void(__stdcall* TdxHq_DisconnectDelegate)(); /// <summary> /// 获取证券指定范围的的K线数据 /// </summary> /// <param name="Category">K线种类, 0->5分钟K线 1->15分钟K线 2->30分钟K线 3->1小时K线 4->日K线 5->周K线 6->月K线 7->1分钟 8->1分钟K线 9->日K线 10->季K线 11->年K线< / param> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">范围的开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">范围的大小,API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目, 最大值800</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetSecurityBarsDelegate)(byte Category, byte Market, char* Zqdm, short Start, short& Count, char* Result, char* ErrInfo); /// <summary> /// 获取市场内所有证券的数量 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Result">此API执行返回后,Result内保存了返回的证券数量</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetSecurityCountDelegate)(byte Market, short& Result, char* ErrInfo); /// <summary> /// 获取市场内某个范围内的1000支股票的股票代码 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Start">范围开始位置,第一个股票是0, 第二个是1, 依此类推,位置信息依据TdxHq_GetSecurityCount返回的证券总数确定</param> /// <param name="Count">范围的大小,API执行后,保存了实际返回的股票数目,</param> /// <param name="Result">此API执行返回后,Result内保存了返回的证券代码信息,形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetSecurityListDelegate)(byte Market, short Start, short& Count, char* Result, char* ErrInfo); /// <summary> /// 获取指数的指定范围内K线数据 /// </summary> /// <param name="Category">K线种类, 0->5分钟K线 1->15分钟K线 2->30分钟K线 3->1小时K线 4->日K线 5->周K线 6->月K线 7->1分钟 8->1分钟K线 9->日K线 10->季K线 11->年K线< / param> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">范围开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">范围的大小,API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目,最大值800</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool (__stdcall* TdxHq_GetIndexBarsDelegate)(byte Category, byte Market, char* Zqdm, short Start, short& Count, char* Result, char* ErrInfo); /// <summary> /// 获取分时数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool (__stdcall* TdxHq_GetMinuteTimeDataDelegate)(byte Market, char* Zqdm, char* Result, char* ErrInfo); /// <summary> /// 获取历史分时数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Date">日期, 比如2014年1月1日为整数20140101</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetHistoryMinuteTimeDataDelegate)(byte Market, char* Zqdm, int Date, char* Result, char* ErrInfo); /// <summary> /// 获取分时成交某个范围内的数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">范围开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">范围大小,API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetTransactionDataDelegate) (byte Market, char* Zqdm, short Start, short& Count, char* Result, char* ErrInfo); /// <summary> /// 获取历史分时成交某个范围内的数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">范围开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">范围大小,API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目</param> /// <param name="Date">日期, 比如2014年1月1日为整数20140101</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetHistoryTransactionDataDelegate) (byte Market, char* Zqdm, short Start, short& Count, int Date, char* Result, char* ErrInfo); /// <summary> /// 批量获取多个证券的五档报价数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海, 第i个元素表示第i个证券的市场代码</param> /// <param name="Zqdm">证券代码, Count个证券代码组成的数组</param> /// <param name="Count">API执行前,表示用户要请求的证券数目,最大50(不同券商可能不一样,具体数目请自行咨询券商或测试), API执行后,保存了实际返回的数目</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetSecurityQuotesDelegate) (byte Market[], char* Zqdm[], short& Count, char* Result, char* ErrInfo); /// <summary> /// 获取F10资料的分类 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetCompanyInfoCategoryDelegate) (byte Market, char* Zqdm, char* Result, char* ErrInfo); /// <summary> /// 获取F10资料的某一分类的内容 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="FileName">类目的文件名, 由TdxHq_GetCompanyInfoCategory返回信息中获取</param> /// <param name="Start">类目的开始位置, 由TdxHq_GetCompanyInfoCategory返回信息中获取</param> /// <param name="Length">类目的长度, 由TdxHq_GetCompanyInfoCategory返回信息中获取</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetCompanyInfoContentDelegate) (byte Market, char* Zqdm, char* FileName, int Start, int Length, char* Result, char* ErrInfo); /// <summary> /// 获取除权除息信息 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetXDXRInfoDelegate) (byte Market, char* Zqdm, char* Result, char* ErrInfo); /// <summary> /// 获取财务信息 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxHq_GetFinanceInfoDelegate) (byte Market, char* Zqdm, char* Result, char* ErrInfo);
扩展行情:
//开发文档 // //1.扩展行情API均是TdxHqApi.dll文件的导出函数,包括以下函数:(所有行情函数均为客户端主动请求查询,不是服务器推送) //bool TdxExHq_Connect(char* IP, int Port, char* Result, char* ErrInfo);//连接券商行情服务器 //void TdxExHq_Disconnect();//断开服务器 //bool TdxExHq_GetMarkets(char* Result, char* ErrInfo);//获取所有市场代码 //bool TdxExHq_GetInstrumentCount(int& Result, char* ErrInfo);//获取所有品种的数目 //bool TdxExHq_GetInstrumentInfo(int Start, short Count, char* Result, char* ErrInfo);//获取所有品种代码 //bool TdxExHq_GetInstrumentBars(byte Category, byte Market, char* Zqdm, int Start, short& Count, char* Result, char* ErrInfo);//获取指定品种的K线数据 //bool TdxExHq_GetMinuteTimeData(byte Market, char* Zqdm, char* Result, char* ErrInfo);//获取指定品种的分时图数据 //bool TdxExHq_GetTransactionData(byte Market, char* Zqdm, int Start, short& Count, char* Result, char* ErrInfo);//获取指定品种的分时成交数据 //bool TdxExHq_GetInstrumentQuote (byte Market, char* Zqdm, char* Result, char* ErrInfo);//获取指定品种的盘口报价 //bool TdxExHq_GetHistoryTransactionData(byte Market, char* Zqdm, int date, int Start, short& Count, char* Result, char* ErrInfo);//获取指定品种的历史分时成交数据 //bool TdxExHq_GetHistoryMinuteTimeData(byte Market, char* Zqdm, int date, char* Result, char* ErrInfo);//获取指定品种的分时图数据
//3.各个函数功能说明 /// <summary> /// 连接通达信扩展行情服务器 /// </summary> /// <param name="IP">服务器IP,可在券商通达信软件登录界面“通讯设置”按钮内查得</param> /// <param name="Port">服务器端口</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxExHq_ConnectDelegate)(char* IP, int Port, char* Result, char* ErrInfo); /// <summary> /// 断开同服务器的连接 /// </summary> typedef void(__stdcall* TdxExHq_DisconnectDelegate)(); /// <summary> /// 获取扩展行情中支持的各个市场的市场代码 /// </summary> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> typedef bool(__stdcall* TdxExHq_GetMarketsDelegate)(char* Result, char* ErrInfo); /// <summary> /// 获取所有期货合约的总数 /// </summary> /// <param name="Result">此API执行返回后,Result内保存了返回的合约总数。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> typedef bool(__stdcall* TdxExHq_GetInstrumentCountDelegate)(int& Result, char* ErrInfo); /// <summary> /// 获取指定范围的期货合约的代码 /// </summary> // <param name="Start">合约范围的开始位置, 由TdxExHq_GetInstrumentCount返回信息中确定</param> /// <param name="Count">合约的数目, 由TdxExHq_GetInstrumentCount返回信息中获取</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> typedef bool(__stdcall* TdxExHq_GetInstrumentInfoDelegate)(int Start, short Count, char* Result, char* ErrInfo); /// <summary> /// 获取合约的K线数据 /// </summary> /// <param name="Category">K线种类, 0->5分钟K线 1->15分钟K线 2->30分钟K线 3->1小时K线 4->日K线 5->周K线 6->月K线 7->1分钟 8->1分钟K线 9->日K线 10->季K线 11->年K线< / param> /// <param name="Market">市场代码</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目, 最大值800</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxExHq_GetInstrumentBarsDelegate)(byte Category, byte Market, char* Zqdm, int Start, short& Count, char* Result, char* ErrInfo); /// <summary> /// 获取分时数据 /// </summary> /// <param name="Market">市场代码,</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxExHq_GetMinuteTimeDataDelegate)(byte Market, char* Zqdm, char* Result, char* ErrInfo); /// <summary> /// 获取分时成交数据 /// </summary> /// <param name="Market">市场代码</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxExHq_GetTransactionDataDelegate)(byte Market, char* Zqdm, int Start, short& Count, char* Result, char* ErrInfo); /// <summary> /// 获取合约的五档报价数据 /// </summary> /// <param name="Market">市场代码</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxExHq_GetInstrumentQuoteDelegate) (byte Market, char* Zqdm, char* Result, char* ErrInfo); /// <summary> /// 获取历史分时成交数据 /// </summary> /// <param name="Market">市场代码,</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目</param> /// <param name="Date">日期, 比如2014年1月1日为整数20140101</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxExHq_GetHistoryTransactionDataDelegate)(byte Market, char* Zqdm, int date, int Start, short& Count, char* Result, char* ErrInfo); /// <summary> /// 获取历史分时数据 /// </summary> /// <param name="Market">市场代码</param> /// <param name="Zqdm">证券代码</param> /// <param name="Date">日期, 比如2014年1月1日为整数20140101</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> typedef bool(__stdcall* TdxExHq_GetHistoryMinuteTimeDataDelegate)(byte Market, char* Zqdm, int date, char* Result, char* ErrInfo);
两类api的demo文件见:
http://download.csdn.net/detail/fonjames/9511643
http://download.csdn.net/detail/fonjames/9511639
其他接口见 此网站 http://chaoguwaigua.com/
后续可能思路: 从exe抽取dll模块?或者exe封装成dll,如果有知道方法可以联系我 :-)
2 从同花顺的网页接口上获取:
股指:
http://d.10jqka.com.cn/multimarketreal/129/IF1605/65_66_67_68_69_70_199112
大概跟测了下, 6表示昨收, 7表示开盘 , 8最高,9最低 ,10现价, 12 总量 ,66昨结 ,69涨停价 ,70跌停价,199112 :涨跌幅
还是没有找到结算价,有知道的童鞋可以告知我下。
未完待续。
时间: 2024-10-05 05:49:59