当前位置: 首页 > news >正文

CTP-API开发系列之接口对接准备

CTP-API开发系列之接口对接准备

  • CTP-API开发系列之接口对接准备
    • CTP-API文件清单
    • CTP-API通用规则
      • 命名规则
      • Spi与Api
    • CTP-API通讯模式
    • 开发语言选择

CTP-API开发系列之接口对接准备

CTP-API文件清单

文件名说明
ThostFtdcTraderApi.h交易接口,C++头文件,包括 CThostFtdcTraderSpi类和CThostFtdcTraderApi类
ThostFtdcMdApi.h行情接口,C++头文件,包括CThostFtdcMdSpi类和 CThostFtdcMdApi类
ThostFtdcUserApiDataType.h定义了接口使用的业务数据类型
ThostFtdcUserApiStruct.h定义了接口使用的业务数据结构
thosttraderapi_se.libwindows系统下交易接口静态库
thosttraderapi_se.dllwindows系统下交易接口动态库
thosttraderapi_se.solinux系统下交易接口动态库
thostmduserapi_se.libwindows系统下行情接口静态库
thostmduserapi_se.dllwindows系统下行情接口动态库
thostmduserapi_se.solinux系统下行情接口动态库
error.xml包括所有接口可能的错误提示信息
error.dtd

CTP-API通用规则

命名规则

在这里插入图片描述

Spi与Api

Spi (如 CThostFtdcTraderSpi),包含有所有的响应和回报函数,用于接收综合交易平台发送或交易所发送
综合交易平台转发的信息。开发者需要继承该接口类,并实现其中相应的虚函数。
Api (如 CThostFtdcTraderApi),包含主动发起请求和订阅的接口函数,开发者直接调用即可。

CTP-API通讯模式

CTP-API是建立在TCP协议之上FTD协议与柜台系统进行通讯,柜台系统服务投资者的交易业务处理以及与各个交易所之间的通信。

FTD协议涉及的通讯模式共有三种:

  • 对话通讯模式: 对话数据流和查询数据流
    • 由客户端主动发起的通讯请求,该请求被交易系统端接收和处理,并向客户端返回响应。例如登录请求与响应接口ReqUserLogin/OnRspUserLogin、请求查询账户资金与响应接口ReqQryTradingAccount/OnRspQryTradingAccount等。
  • 私有通讯模式:私有数据流
    • 交易系统端主动向某个特定的客户端发送信息。例如报单回报接口 OnRtnOrder、成交通知接口 OnRtnTrade、执行宣告通知接口OnRtnExecOrder、期权自对冲通知接口 OnRtnOptionSelfClose等 。
  • 广播通讯模式:公共数据流
    • 交易系统端主动向所有连接到系统上的客户端都发出相同的信息。如行情通知接口 OnRtnDepthMarketData、合约状态推送接口 OnRtnInstrumentStatus等。
      在这里插入图片描述

开发语言选择

  • 【官方】首选c/c++
    • 优点:官方接口使用的语言,文件清单可以直接使用
    • 缺点:c/c++语言入门有一定的门槛
  • 【官方】java、Object-C
    • 2022-12-12 官方网站首次提供支持移动端(Android、ios)的接口,这两种语言也可以直接对接开发
  • 【非官方】 python
    • 官网没有提供python语言的接口,需根据官方提供文件清单进行二次封装,比如swig;当然也能搜到别人封装好的python版本
    • 后续做策略开发,回测系统,使用python语言开发效率会高一些
    • 其他语言也是一样,需要自行进行二次封装

相关文章:

CTP-API开发系列之接口对接准备

CTP-API开发系列之接口对接准备 CTP-API开发系列之接口对接准备CTP-API文件清单CTP-API通用规则命名规则Spi与Api CTP-API通讯模式开发语言选择 CTP-API开发系列之接口对接准备 CTP-API文件清单 文件名说明ThostFtdcTraderApi.h交易接口,C头文件,包括 …...

C++小记 -链表

链表 文章目录 链表链表基础理论链表的类型单链表双链表循环链表 链表的存储方式链表的定义链表的操作添加节点删除节点 性能分析构建链表删除节点(内存泄漏的坑)1.直接移除2.使用虚拟头结点3.delete指针后,要将指针置为NULL!&…...

网络协议学习DAY1

1.网络协议模型: OSI协议模型 应用层 实际发送的数据 表示层 发送的数据是否加密 会话层 是否建立会话连接 传输层 数据传输的方式(数据报、流式) 网…...

vue3中全局变量的定义和获取

在vue项目中,我们知道vue2定义全局变量是在main.js文件将变量挂载到vue.prototype.name"lisi",在页面通过this.name去调用。但是在vue3中,这个定义全局变量有所改变: const app createApp(App) app.config.globalProp…...

1.2 数据模型 数据库系统概论

目录 1.2.1 两类数据模型 1.2.2 概念模型 1.信息世界中的基本概念 (1)实体 (2)属性 (3)码 (4)实体型 (5)实体集 (6)联系 2.…...

C#中openFileDialog 对话框不在最顶层,TopMost的异常情况

重点&#xff01;&#xff01;&#xff01;若 当前窗体this的TopMost是false&#xff0c;可以设置为true&#xff0c;这样打开的对话框就是最顶层 /// <summary> /// 设置窗体TopMost&#xff0c;缺点和其他程序ide有冲突。例如VS有断点的调试会卡死 /// </summary&g…...

信息安全与阿里云等保三级方案实践总结

信息安全在当今数字化时代变得至关重要&#xff0c;企业和组织需要采取有效措施来保护其数据和信息资产。阿里云作为中国领先的云服务提供商&#xff0c;提供了等保三级方案&#xff0c;帮助用户满足国家信息安全等级保护的要求。本文将探讨信息安全和阿里云等保三级方案的重要…...

嵌入式学习记录——线程

线程基本概念: 线程:线程是一个轻量级的进程,位于进程空间内部,一个进程中可以创建多个线程 1.线程创建: 线程独占栈空间,文本段、数据段和堆区与进程共享 2.线程调度: 与进程调度是一样的 宏观并行,微观串行 3.线程消亡: 与进程消亡是一样的 4.进程和线程…...

同步服务器操作系统公网仓库到本地 _ 统信UOS _ 麒麟KYLINOS

原文链接&#xff1a;同步服务器操作系统公网仓库到本地 | 统信UOS | 麒麟KYLINOS 在如今快速发展的信息技术时代&#xff0c;维护和更新服务器操作系统变得越来越重要。无论是为了提高安全性、增加新功能还是提升系统稳定性&#xff0c;同步公网源仓库到本地都是一个关键步骤。…...

【数仓】flume常见配置总结,以及示例

相关文章 【数仓】基本概念、知识普及、核心技术【数仓】数据分层概念以及相关逻辑【数仓】Hadoop软件安装及使用&#xff08;集群配置&#xff09;【数仓】Hadoop集群配置常用参数说明【数仓】zookeeper软件安装及集群配置【数仓】kafka软件安装及集群配置【数仓】flume软件安…...

统计信息锁定

在导入成功后我要收集下这些表的信息&#xff0c;结果发现好几张表都没法收集&#xff0c;用DBMS_STATS包显示ORA-20005&#xff1a;object statistics are locked (stattype ALL)&#xff0c;用Analyze命令显示ORA-38029&#xff1a; 对象统计信息已锁定。 解决办法很明确&a…...

光猫改为bridge模式

注意事项&#xff1a; 改成桥接模式后&#xff0c;光猫将不再拨号上网&#xff0c;建议提前记录自己的宽带账号&#xff0c;打10010申请修改自己的宽带密码。 光猫改好桥接之后&#xff0c;把宽带账号和密码输入到负责拨号上网的终端设备中&#xff0c;完成宽带PPPOE拨号设置。…...

回溯算法01-组合(Java)

1.组合 题目描述 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4]]示例 2&#xff1a; 输入&#x…...

初始网络 --- 网络基础

目录 0、 前言 1、 计算机网络发展背景 1.1. 局域网(LAN) && 广域网(WAN) 2、 认识并理解协议 3、 初始网络协议 3.1. 协议分层 4、 TCP/IP 五层(或四层)模型 4.1. 简单了解TCP/IP层状体系 4.2. TCP/IP协议层状结构和计算机层状结构的关系 5、 OSI七层模型 …...

在Linux/Ubuntu/Debian中计算MD5,SHA256的方法

MD5&#xff08;消息摘要算法 5&#xff09;和 SHA-256&#xff08;安全哈希算法 256 位&#xff09;等流行的哈希算法广泛用于从任意数据生成固定大小的哈希值或校验和。 以下是这些算法及其计算方式的简要概述&#xff1a; MD5&#xff08;消息摘要算法5&#xff09;&#x…...

mybatis mysql insert 主键id为空

错误示范 java代码设置了param参数&#xff0c;但是sql 字段没有带上参数&#xff0c;例如 void insertV2(Param("historyDO") HistoryDO historyDO); <insert id"insertDuplicate" parameterType"com.test.entity.HistoryDO"keyProperty&…...

批次大小对ES写入性能影响初探

问题背景 ES使用bulk写入时每批次的大小对性能有什么影响&#xff1f;设置每批次多大为好&#xff1f; 一般来说&#xff0c;在Elasticsearch中&#xff0c;使用bulk API进行批量写入时&#xff0c;每批次的大小对性能有着显著的影响。具体来说&#xff0c;当批量请求的大小增…...

c语言十大核心用法

当然&#xff0c;以下是十个关于 C 语言用法的代码示例&#xff1a; 指针的基本用法&#xff1a; #include <stdio.h>int main() {int num 10;int *ptr;ptr &num;printf("The value of num is: %d\n", *ptr);return 0; }结构体的使用&#xff1a; #in…...

网页打开慢,这锅该谁背?

一、背景 工作中扯皮说不可避免且非常常见的事情. 开发与产品、开发和测试、前端和后端都会产生扯皮现象。今天要聊的一个问题就是前后端之间的扯皮问题。 网页打开太慢或者点击了某个按钮发现数据很久才显示出来&#xff0c;这个锅谁背? 做开发不能无凭据地胡乱甩锅, 我们…...

题目 1538: 蓝桥杯-格子位置

题目描述: 输入三个自然数N&#xff0c;i&#xff0c;j &#xff08;1< i< N&#xff0c;1< j< N&#xff09;&#xff0c;输出在一个N*N格的棋盘中&#xff0c;与格子&#xff08;i&#xff0c;j&#xff09;同行、同列、同一对角线的所有格子的位置。 样例解释…...

3个真实场景告诉你,Avogadro 2分子建模软件如何改变化学研究方式

3个真实场景告诉你&#xff0c;Avogadro 2分子建模软件如何改变化学研究方式 【免费下载链接】avogadroapp Avogadro is an advanced molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, …...

技术从业者的时间管理:如何平衡工作、学习和生活

在敏捷开发大行其道、技术迭代日新月异的当下&#xff0c;软件测试从业者正面临着前所未有的时间压力。一边是项目交付的紧迫期限、层出不穷的缺陷排查需求&#xff0c;一边是自动化测试工具、AI测试框架等新技术的学习焦虑&#xff0c;再加上对个人生活品质的追求&#xff0c;…...

Linux离线包缓存自动化巡检实践

Linux离线包缓存自动化巡检实践这是一篇面向中级 Linux 使用者的技术文章&#xff0c;主题聚焦在离线包缓存&#xff0c;重点讨论无外网安装、本地缓存和依赖完整性。在真实生产环境中&#xff0c;离线包缓存相关问题往往不会以单一错误形式出现&#xff0c;而是混杂在日志、权…...

【STM32入门教程】将`printf`重定向到USART串口(以USB转串口为例)

【STM32入门教程】将printf重定向到USART串口&#xff08;以USB转串口为例&#xff09; 在STM32开发中&#xff0c;printf是一个非常方便的调试工具。但默认情况下&#xff0c;printf会输出到标准输出设备&#xff08;如屏幕&#xff09;&#xff0c;而在嵌入式系统中&#xff…...

Windows热键冲突智能解析:Hotkey Detective终极解决方案

Windows热键冲突智能解析&#xff1a;Hotkey Detective终极解决方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 在Wind…...

py每日spider案例之某website壁纸接口(无加密)

import requestsheaders = {"accept": "*/*","accept-language": "zh-CN,zh;q=0.9","cache-control": "no-cache","pragma"...

毕业设计 深度学习多目标跟踪 实时检测

文章目录 0 前言2 目标跟踪效果3 目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 0 前言 &#x1f525; 今天学长向大家分享一个毕业设计项目 为了大家能够顺利以及最少的精力通过毕设&…...

G101EVT05.1友达液晶屏10.1寸LCD工业电阻触摸液晶屏幕

G101EVT05.1 G101EVT05.1是友达AUO的一款10.1英寸工业触摸液晶屏模组。公开资料显示&#xff0c;这款屏采用1280800分辨率、16:10比例、400cd/m典型亮度、LVDS接口、WLED背光、投射式电容触摸屏PCAP&#xff0c;整体更偏向工业平板、HMI、人机界面、医疗终端、嵌入式控制设备&a…...

用Python搞定常微分方程:从经典RK4到隐式IRK6的保姆级代码对比(附避坑指南)

Python数值解微分方程实战&#xff1a;从RK4到IRK6的算法选择与避坑指南 微分方程数值解法是工程计算中的核心技能&#xff0c;但面对十几种龙格库塔方法时&#xff0c;很多开发者会陷入选择困难。本文将用可复用的Python代码&#xff0c;带你穿透显式RK4与隐式IRK6的迷雾。 1.…...

ARM架构LDRSB/LDRSH有符号加载指令详解

1. ARM架构中的有符号加载指令概述在嵌入式系统和低功耗应用领域&#xff0c;ARM处理器凭借其精简高效的指令集架构占据主导地位。内存加载指令作为处理器与外部存储交互的核心操作&#xff0c;其设计直接影响系统性能和数据处理的准确性。LDRSB&#xff08;Load Register Sign…...