什么是股票委托接口?

news2024/12/23 11:43:01

什么是股票委托接口?相信大家对这些做股票量化交易接口系统都有一定是了解,其实股票委托接口是一些预先定义的接口,如函数与HTTP接口,以及api接口等这些,或指软件系统不同组成部分衔接的协议,用来提供应用程序与开发人者基于某一款软件或硬件得以访问的一组例程,同时也不需要访问源码等一些开发细节,它是针对股票交易市场专用的交易接口系统而已。就比如说说它的调用定义的功能:

一、API 调用结果说明:

相关函数

调用结果

Deinit

Logoff

Init

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

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

Logon

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

调用失败: 返回值 <= 0

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

GetExpireDate

返回值为 API 授权到期日期

二、单项和批量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 接口说明

签名

int Init();

功能

API 初始化

参数

返回值

授权成功的交易账户数量

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

签名

void Deinit();

功能

API 反初始化

参数

返回值

不过,目前随着量化投资的发展,用它来投资A股市场也是一样的道理,在股票委托接口可以直接调用接口来执行交易者自己制定的策略,一步一步的执行,也就是程序化自动交易。具体实现过程起到的作用为以下五点:

(1)在A股市场上对所有期权实时行情数据都可以支持代码进行筛选,也就是自动选期权品种。

(2)支持所有A股实时行情数据查询,包含期权实时行情交易多项指标数据;

(3)它有毫秒级查询性能;

(4)数据持续更新与维护;例如全接口支持 HTTPS、全面兼容 Apple ATS、全国多节点 CDN 部署;

(5)接口响应速度快,就比如多台服务器构建 API 接口负载都能均衡状态;与此同时,接口调用状态与状态监控都可以自动执行,股票委托接口自然就自助委托下单成功了。

股票委托接口部分常见使用到的源代码:

// 加载DLL
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;


// 接收缓冲区, 用于接收返回结果和错误信息
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();

// 登录 接口支持普通交易和两融交易账号, 以下例子使用两融账号
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;

执行示例:


 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/71964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

举个栗子~Tableau 技巧(246):将标签置于条形图的末端

用条形图呈现数据时&#xff0c;为增加直观性&#xff0c;通常会用标签显示条形对应的数值。Tableau 默认将标签呈现在条形最右侧外部&#xff0c;我们通过设置格式&#xff0c;可以将其挪动到条形里的中间或最左边。 有数据粉反馈&#xff1a;有没有办法&#xff0c;将数值标…

【C语言经典面试题】memcpy函数有没有更高效的拷贝实现方法?

【C语言经典面试题】memcpy函数有没有更高效的拷贝实现方法&#xff1f; 我相信大部分初中级C程序员在面试的过程中&#xff0c;可能都被问过关于memcpy函数的问题&#xff0c;甚至需要手撕memcpy。本文从另一个角度带你领悟一下memcpy的面试题&#xff0c;你可以看看是否能接得…

4D毫米波雷达开启感知新大陆,这家企业给出这样的答案

当前&#xff0c;自动驾驶行业的内卷已是不争的事实。无论是以叠加传感器为手段的“堆料”&#xff0c;还是以测试里程论性能高低的“堆数据”&#xff0c;最终都指向了同一个问题&#xff1a;感知瓶颈。随着自动驾驶行业越来越趋于理性&#xff0c;技术的研发也将回归最基础的…

【数据可视化】第五章—— 基于PyEcharts的数据可视化

文章目录1. pyecharts数据可视化介绍2&#xff0e;pyecharts安装与使用3&#xff0e;全局配置项和系列配置项3.1 全局配置项3.1.1 基本元素配置项3.1.2 坐标轴配置项3.1.3 原生图形配置项3.2 系列配置项3.2.1 样式类配置项3.2.2 标记类型配置项3.2.3 其它类配置项4&#xff0e;…

【性能优化】pc端与移动端图片优化篇

目录 优化方向&#xff1a; 优化方式 1.域名收敛 2.使用CDN节点 3.设置缓存 4.图片懒加载 5.用户图片上传限制 6.使用OSS服务压缩 7.使用OSS缩放 8.合成雪碧图 9.使用svg图片 在前端项目中图片的性能优化也有不少可以提升的方向 优化方向&#xff1a; 减少请求数量…

Go语言基础知识

Go语言基础知识 一、准备工作 1.1下载安装Go 地址&#xff1a;https://studygolang.com/dl 1、根据系统来选择下载包 2、下载完成后直接双击运行 3、一路next&#xff0c;注意选择安装路径 4、在控制台窗口输入“go version”可查看Go版本&#xff0c;检测是否安装成功 5、…

基于STAN的风力发电预测(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f389;作者研究&#xff1a;&#x1f3c5;&#x1f3c5;&#x1f3c5;本科计算机专业&#xff0c;研究生电气学硕…

应届生自学Python两个月,为什么找不到工作?

今天我们来看一个同龄小伙伴自学Python的困惑&#xff0c;他自学了2个月Python就想找一份好工作&#xff0c;但是四处碰壁。对于这样的难题&#xff0c;我们来看看前辈们是如何解决的。 如果你想要学好python最好加入一个组织&#xff0c;这样大家学习的话就比较方便&#xff…

华夏教师杂志华夏教师杂志社华夏教师编辑部2022年第24期目录

视点_青少年党史学习教育《华夏教师》投稿&#xff1a;cn7kantougao163.com 青少年学党史的震阳实践 沙夕岗; 4-527 视点_德育 幸福365&#xff0c;成长每一天——苏州工业园区星澄学校“幸福365”德育课程简介 赵志德; 6-745 学校_基层党建 “1X”党员引领匠心路—…

高通Ride软件开发包使用指南(2)

高通Ride软件开发包使用指南&#xff08;2&#xff09;3 Ubuntu系统设置3.1前提条件3.2安装Ubuntu3.3 安装 docker3.4 在Linux主机上安装QNX软件中心3 Ubuntu系统设置 以下步骤准备Ubuntu系统使用docker图像构建工具链SDK&#xff0c;并启用可视化。 3.1前提条件 确保您的电…

三年PHP经验如何提高工资?PHP接单推荐

大家都知道&#xff0c;一般来说以PHP来做开发的有很大一部分是外包公司&#xff0c;如果简简单单的干了一到两年多&#xff0c;那么我相信你的经验值肯定会大幅度提升&#xff0c;但是如果说要真正提高技术或者很快的提高工资&#xff0c;这在我看来&#xff0c;相较于其他语言…

管理员必看!10+个Salesforce仪表板使用技巧

Salesforce仪表板是一种将报表中关键数据可视化的简单方法&#xff0c;可以帮助识别趋势、整理数量并衡量其活动的影响。 本篇文章将分享10个仪表板使用技巧&#xff0c;有效利用这个开箱即用的核心Salesforce功能&#xff0c;可以帮助管理员和用户事半功倍。 01 提高仪表板的…

二苯并环辛炔DBCO-PEG3-OTs,二苯并环辛炔-三聚乙二醇-对甲苯磺酰酯

●外观以及性质&#xff1a; DBCO&#xff08;二苯并环辛炔&#xff09;是一种环炔烃&#xff0c;可以通过在水溶液中通过应变促进的1,3-偶极环加成反应与叠氮化物反应&#xff0c;这种生物正交反应也称为无铜点击反应。DBCO 点击化学可以在水性缓冲液中运行&#xff0c;也可以…

高通Ride软件开发包使用指南(3)

高通Ride软件开发包使用指南&#xff08;3&#xff09;4准备软件下载平台4.1 CDT供应4.1.1使用QFIL的CDT编程4.1.2使用fastboot进行CDT编程4.1.3 CDT验证4准备软件下载平台 所有Snapdragon Ride参考平台都应已完成通用闪存&#xff08;UFS&#xff09;编程和配置数据表&#x…

spring 事务传播行为以及失效原因

今天在查看以前写的代码时&#xff0c;看到了事务的使用&#xff0c;感觉自己对这一块并不是特别清晰&#xff0c;所以就系统的学习了一下。在学习过程中发现很多地方自己以前理解的还是有点不对&#xff0c;所以记录一下学习笔记&#xff0c;希望帮助到大家。 一、事务传播行…

随机接入流程 - 2-Step RA

Overview 在LTE和R15 NR中&#xff0c;终端以及基站采用的接入技术均为四步随机接入(4-Step Random Access)技术&#xff0c;即终端和基站之间需要经过5次信息交互(这里我们所说是的基于竞争的随机接入过程&#xff0c;对于非竞争随机接入过程只需要3次信息交互)才能完成随机接…

m基于FPGA的数字下变频verilog设计

目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA 1.算法描述 整个数字下变频的基本结构如下所示 NCO使用CORDIC算法&#xff0c;CIC采用h结构的CIC滤波器&#xff0c;HBF采用复用结构的半带滤波器&#xff0c;而FIR则采用DA算法结构。 这里&#xff0c;我们…

华硕编程竞赛11月JAVA专场 B题召唤精灵 题解

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;软件工程师一枚&#xff0c;来自浙江宁波&#xff0c;负责开发管理公司OA项目&#xff0c;专注软件前后端开发&#xff08;Vue、SpringBoot和微信小程序&#xff09;、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲…

ATtiny13与Proteus仿真-GPIO与点亮LED仿真

GPIO与点亮LED仿真 1、GPIO介绍 ATtiny13的端口具有(Read-Modify-Write,读取-更改-写入)基础功能。这就意味着,可以通过 SBI 和 CBI 指令更改一个端口引脚的方向,而不会影响其他端口方向。同时,如果更改一个端口的值,也不会影响其他的端口的值。 ATtiny13的端口输出缓冲…

Spring boot前后端分离项目使用docker-compose部署在Ubuntu上 以及内网穿透,外网访问项目

docker-compose.yml部署vue Springboot前后端分离项目 以及内网穿透&#xff0c;外网访问项目一、windows上部署前后端项目&#xff0c;测试1、前端Vue打包&#xff0c;放到nginx的html中2、nginx代理转发后端端口&#xff1a;4、后端Springboot项目使用Maven打包二、Linux上使…