股票接口自动下单怎么处理的?经过小编的小编的了解,股票交易接口是由很多资源和开发源码的设计来构建的,有的专业开发团队将这些开发研究和完善,但是,这些股票接口不一定就是由其自身提供的,可以是投资者个人和第三方来开发,那么在执行自动下单处理时,也是有它的性能决定,具体往下分析:
股票接口自动下单的开发原理:
签名 | void SendOrder(int ClientId, int Category, int EntrustType, const char* Gddm, const char* Zqdm, float Price, int Quantity, char* Result, char* ErrorInfo); | |
功能 | 委托下单 | |
参数 | ClientId | 客户端Id |
| Category | 委托类别 0: 买入, 1: 卖出, 2: 融资买入, 3: 融券卖出, 4: 买券还券, 5: 卖券还款, 6: 现券还券 |
| EntrustType | 报价方式 0: 上海限价委托, 深圳限价委托 1: (市价委托)深圳对方最优价格 2: (市价委托)深圳本方最优价格 3: (市价委托)深圳即时成交剩余撤销 4: (市价委托)上海五档即成剩撤, 深圳五档即成剩撤 5: (市价委托)深圳全额成交或撤销 6: (市价委托)上海五档即成转限价 |
| Gddm | 股东代码, 可调用 QueryData 接口或查询券商软件获取交易上海股票填上海的股东代码 交易深圳股票填深圳的股东代码 |
| Zqdm | 证券代码 |
| Price | 委托价格 |
| Quantity | 委托数量 |
| Result | 委托结果(包含委托编号), 需要分配 1024*1024 字节的空间 格式请参阅[Result 格式] |
| ErrorInfo | 错误信息, 需要分配 256 字节的空间 |
返回值 | 无, 调用成功与否通过 ErrorInfo 是否为空字符串来判断 |
股票接口自定下单处理源代码:
(1)HINSTANCE hDLL = LoadLibraryA("MetaTrade.dll");
assert(hDLL);
// 初始化
typedef int (*InitProc)();
const auto Init = reinterpret_cast<InitProc>(GetProcAddress(hDLL, "Init"));
assert(Init);
const int authorizedCount = Init(); // 已授权账号数量
assert(authorizedCount > 0);
std::cout << "已授权账号数量: " << authorizedCount << std::endl;
std::cout << std::endl;
(2)// 接收缓冲区, 用于接收返回结果和错误信息
auto resultBuf = std::make_unique<char[]>(1024 * 1024);
auto errinfoBuf = std::make_unique<char[]>(256);
char *const result = resultBuf.get();
char *const errinfo = errinfoBuf.get();
(3)// 登录 接口支持普通交易和两融交易账号, 以下例子使用两融账号
typedef int (*LogonProc)(const char *ip, short port, const char *version,
short yybid, const char *account,
const char *tradeAccount, const char *jyPassword,
const char *txPassword, char *errinfo);
const auto Logon = reinterpret_cast<LogonProc>(GetProcAddress(hDLL, "Logon"));
assert(Logon);
std::string ip = "1.2.3.4"; // 券商IP(注意区分两融和普通)
short port = 5678; // 券商端口(注意区分两融和普通)
std::string version = ""; // 版本号: 一般填空
short yybid = 0; // 营业部ID: 一般填0
std::string account = "12345678.C"; // 登录账号: 两融账号需添加.C结尾
std::string tradeAccount = "12345678"; // 交易账号: 一般与登录账号相同, 但不需添加.C结尾
std::string jyPassword = "password"; // 交易密码
std::string txPassword = ""; // 通讯密码: 一般填空
const int clientId = Logon(ip.c_str(), port, version.c_str(), yybid,
account.c_str(), tradeAccount.c_str(),
jyPassword.c_str(), txPassword.c_str(), errinfo);
assert(clientId >= 0);
std::cout << "登录成功, client = " << clientId << std::endl;
std::cout << std::endl;

也就是说,股票接口自动下单的原理是基于api的应用,以及登录账户观察成交和查询持仓情况等,不过建议投资者在选择系统方面,要注意是否正规。很多接口公司开发的出来的也会存在有差异,但都支撑得住高速的下载跟提交挂单,