股票交易开放接口是什么意思?

在股票量化市场上,大家可能对股票交易开放接口的意思不太理解,其实换个角度来看,就是关于由开发团队进行开发的股票交易开放接口,那么对于接口的开发原理跟代码是怎么样的呢?

一、股票交易开放接口函数的调用:

名称

功能

基本函数

Init

API 初始化

Deinit

API 反初始化

Logon

登录交易账户

Logoff

登出交易账户

QueryData

查询各类交易数据

QueryHistoryData

查询各类历史数据

SendOrder

委托下单

CancelOrder

委托撤单

GetQuote

获取五档报价

Repay

融资融券账户直接还款

GetExpireDate

查询API 授权到期日期

单账户批量函数

QueryDatas

单账户批量查询各类交易数据

SendOrders

单账户批量下单

CancelOrders

单账户批量撤单

GetQuotes

单账户批量获取五档报价

多账户批量函数

QueryMultiAccountsDatas

多账户批量查询各类交易数据

SendMultiAccountsOrders

多账户批量下单

CancelMultiAccountsOrders

多账户批量撤单

GetMultiAccountsQuotes

多账户批量获取五档报价

二、API 调用结果说明

相关函数

调用结果

Deinit

Logoff

Init

返回值为授权成功的交易账户数量

返回值< 1 时, 无需调用 Deinit 接口, 也不能调用其它接口, 否则会出错!

Logon

调用成功: 返回值为 客户端 Id

调用失败: 返回值 <= 0

参数ErrorInfo 保存错误信息, 需要分配 256 字节的空间

GetExpireDate

返回值为API 授权到期日期

格式为yyyymmdd 整数, 如 2018 年 5 月 1 日为 20180501

单项操作

调用成功: ErrorInfo 为空字符串

QueryData

调用失败: ErrorInfo 为错误信息

QueryHistoryData

参数Result 保存操作结果, 需要分配 1024*1024 字节的空间

SendOrder

Result 格式为表格数据, 每一行通过换行符\n 分割,每一列通过制表符\t 分割

CancelOrder

例子:

GetQuote

股东代码\t 股东名称\t 帐号类别\t 保留信息\n

Repay

12345678\t\t0\t 信息 1\n

87654321\t\t2\t 信息 2

注: 不同券商返回的字段会有所不同

参数ErrorInfo 保存错误信息, 需要分配 256 字节的空间

批量操作

批量操作的参数通过数组方式传入, 用下标区分每项操作

QueryDatas

第i 项操作调用成功: ErrorInfo[i]为空字符串

SendOrders

第i 项操作调用失败: ErrorInfo[i]为错误信息

CancelOrders

参数Result[]保存批量操作结果, Result[i]保存第 i 项操作结果

GetQuotes

每项操作结果需要分配1024*1024 字节的空间

QueryMultiAccountsDatas

每项操作结果的格式可参阅[Result 格式]

SendMultiAccountsOrders

参数ErrorInfo[]保存批量错误信息, ErrorInfo[i]保存第 i 项错误信息

CancelMultiAccountsOrders

每项错误信息需要分配256 字节的空间

GetMultiAccountsQuotes

三、股票交易开放接口api调用查询的开发源码分享:

// 查询各类交易数据

// 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;

那么,在股票交易开发接口执行这些数据源码中,就要注意有没有完善到位,然后在持股方面要做好一些个股数据的调查,在股票交易接口直接输入策略查询程序即可。

猜你喜欢

转载自blog.csdn.net/Q_121463726/article/details/128956549
今日推荐