通达信接口查询持仓数据步骤(一)

股市里用到的查询通达信接口数据通常需要经历以下步骤:

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. 处理结果:解析出的查询数据可以进行进一步的处理和分析,如展示在用户界面上、生成报告或其他操作。

注意:具体查询数据的方法和格式可能因不同的接口和系统而有所不同,需要参考对应接口的文档和开发指南进行操作。另外,使用接口查询数据可能需要遵循一定的频率和权限限制,具体要求也需要参考接口提供方的规定。

猜你喜欢

转载自blog.csdn.net/Q_121463726/article/details/132597009