股市里用到的查询通达信接口数据通常需要经历以下步骤:
1. 连接接口:首先需要使用相应的接口来连接到交易所或证券公司的服务器。这通常需要使用开发包或API提供的相关函数或方法进行连接。
2. 登录认证:在连接成功后,需要使用登录凭证(通常是用户名和密码)进行认证,以确保只有合法的用户可以查询数据。
3. 发起查询请求:通过接口提供的函数或方法,向服务器发送查询请求。查询请求通常需要提供具体的查询条件,如要查询的委托订单、账户资金、持仓信息等。
例如执行开发文档:MetaTradeAPI (metatradeapi) - Gitee.com
Yybid | 营业部代码, 一般为 0 | |
Account | 登录账号,一般为券商的资金账号或客户号 注: 两融账号需要额外添加 .C 结尾, 如 123456 变为 123456.C | |
TradeAccount | 交易账号, 一般与登录账号相同, 但无需额外添加 .C 结尾 可登录券商软件, 查看股东列表, 股东列表内的资金账号就是交易账号 | |
JyPassword | 交易密码 | |
TxPassword | 通讯密码, 一般为空字符串或与交易密码相同 | |
ErrorInfo | 错误信息, 需要分配 256 字节的空间 | |
返回值 | 调用成功: 客户端 Id 调用失败: 返回 <= 0 |
签名 | void Logoff(int ClientId); | |
功能 | 登出交易账户 | |
参数 | ClientId | 客户端 Id |
返回值 | 无 |
4. 等待响应:一旦查询请求发送成功,接口会等待服务器的响应。响应内容通常是查询结果的数据包,其中包含了委托订单的状态、成交情况、账户资金余额、持仓信息等。
如执行源码:
// 查询各类交易数据
// category: 0=>资金, 1=>股份, 2=>当日委托, 3=>当日成交, 4=>可撤单,
// 5=>股东代码, 6=>融资余额, 7=>融券余额, 8=>可融证券,
// 12=>可申购新股, 13=>新股申购额度, 14=>配号, 15=>中签,
// 16=>未平仓融资合约, 17=>未平仓融券合约, 18=>未平仓两融合约
typedef void (*QueryDataProc)(int clientId, int category, char *result, char *errinfo);
const auto QueryData = reinterpret_cast<QueryDataProc>(GetProcAddress(hDLL, "QueryData"));
assert(QueryData);
std::cout << "========== 查询资金: category = 0 ==========\n";
int category = 0;
QueryData(clientId, category, result, errinfo);
if (NULL != errinfo[0]) {
std::cout << errinfo << std::endl;
} else {
std::cout << result << std::endl;
}
std::cout << std::endl;
std::cout << "========== 查询股份: category = 1 ==========\n";
category = 1;
QueryData(clientId, category, result, errinfo);
if (NULL != errinfo[0]) {
std::cout << errinfo << std::endl;
} else {
std::cout << result << std::endl;
}
std::cout << std::endl;
5. 解析数据:接口返回的查询结果数据通常是一个数据包或类似结构的形式,需要通过相关的解析函数或方法对数据进行解析,提取出需要的具体信息。
6. 处理结果:解析出的查询数据可以进行进一步的处理和分析,如展示在用户界面上、生成报告或其他操作。
注意:具体查询数据的方法和格式可能因不同的接口和系统而有所不同,需要参考对应接口的文档和开发指南进行操作。另外,使用接口查询数据可能需要遵循一定的频率和权限限制,具体要求也需要参考接口提供方的规定。