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

news2025/1/16 20:13:05

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语言开发效率会高一些
    • 其他语言也是一样,需要自行进行二次封装

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

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

相关文章

《辐射4》是一款什么样的游戏 怎样在mac电脑上玩到《辐射4》辐射4攻略 辐射4开局加点 怎么在Mac电脑玩Steam游戏

辐射4(Fallout 4)是由Bethesda开发的一款动作角色扮演类游戏,为《辐射》系列游戏作品的第四代,于2015年11月10日发行。游戏叙述了主角一家在核爆当天(2077年10月23日),被Vault-Tec(避…

antd vue 选择控件的使用

Ant Design Vue-------Select 选择器 今天就讲讲Ant Design Vue下的控件----select 下拉框 结合项目中的需求,讲一下该控件如何配置,需求: (1)设置控件的宽度和高度 (2)绑定数据源 &#x…

Linux系统安装Dashy服务结合内网穿透实现公网访问本地导航页

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航…

【贪心算法】专题练习二

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 👉🏻买卖股票的最佳时机👉&…

基于OpenCV的图形分析辨认03

目录 一、前言 二、实验目的 三、实验内容 四、实验过程 一、前言 编程语言:Python,编程软件:vscode或pycharm,必备的第三方库:OpenCV,numpy,matplotlib,os等等。 关于OpenCV&…

利用MATLAB模拟点电荷的电场分布

一、实验目的: 1.熟悉点电荷的电场分布情况; 2.学会使用Matlab绘图; 二、实验内容: 1.根据库伦定律,利用Matlab强大的绘图功能画出单个点电荷的电场分布情况,包括电力…

基于SpringBoot+Vue 的专家医院预约挂号系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

Type-C接口小家电使用PD诱骗芯片获取充电器的5V9V12V20V供电

随着Type-C接口的逐渐普及,小家电设备慢慢开始采用Type-C,淘汰了以往的DC接口,Type-C接口在小家电设备中的应用也越来越广泛。Type-C接口支持大电流宽电压范围,如何确保设备能够正确识别并使用各种电压(例如5V、9V、12…

Go编程实战:高效利用encoding/binary进行数据编解码

Go编程实战:高效利用encoding/binary进行数据编解码 引言encoding/binary 包核心概念ByteOrder 接口Binary 数据类型的处理处理复杂数据结构 基础使用教程数据类型与二进制格式的映射基本读写操作写操作 - binary.Write读操作 - binary.Read 错误处理 高级功能与技巧…

可调恒定电流稳压器NSI50150ADT4G车规级LED驱动器 提供专业的汽车级照明解决方案

NSI50150ADT4G产品概述: NSI50150ADT4G可调恒定电流稳压器 (CCR) ,是一款简单、经济和耐用的器件,适用于为 LED 中的调节电流提供成本高效的方案(与恒定电流二极管 CCD 类似)。该 (CCR) 基于自偏置晶体管 (SBT) 技术&…

Java开发从入门到精通(一):Java的基础语法进阶

Java大数据开发和安全开发 (一)Java注释符1.1 单行注释 //1.2 多行注释 /* */1.3 文档注释 /** */1.4 各种注释区别1.5 注释的特点1.5 注释的快捷键 (二)Java的字面量(三)Java的变量3.1 认识变量3.2 为什么…

使用SMTP javamail发送邮件

一、SMTP协议 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。使用javamail编写发送…

【JavaEE】_Spring MVC 项目单个及多个参数传参

目录 1. 传递单个参数 1.1 关于参数名的问题 2. 传递多个参数 2.1 关于参数顺序的问题 2.2 关于基本类型与包装类的问题 1. 传递单个参数 现创建Spring MVC项目,.java文件内容如下: package com.example.demo.controller;import org.springframewo…

NCDA 大赛 App 设计获奖作品分享!

未来设计师全国高校数字艺术设计大赛简称“NCDA大赛”,是由工信部人才交流中心主办,直接对联合国接国际设计赛事的一个大学生竞赛,不仅由教育部中国高等教育学会认定,教育厅发文立项,还有来自我们都很熟悉的“学习强国…

vue3中指定组件名称:可以使用插件vite-plugin-vue-setup-extend

第一步:安装vite-plugin-vue-setup-extend插件 第二步:修改vite.config.ts文件配置

C#多线程(4)——任务并行库TPL

文章目录 1 什么是TPL2 创建与启动任务3 等待任务4 任务中的异常处理5 取消任务 1 什么是TPL T P L \textcolor{red}{TPL} TPL(Task Parallel Library)任务并行库,是从.NetFramwork4.0后引入的基于异步操作的一组API。TPL的底层是基于多线程实…

nginx: mac使用vscode本地调试nginx

vscode安装c语言插件 在extensions中搜索"c/c", 将前3个插件都安装 在extensions中搜索"cmake", 将前2个插件都安装 下载nginx源码 nginx 源码: https://github.com/nginx/nginx 编译运行Nginx 修改 /auto/cc/conf 文件&…

【论文阅读】单词级文本攻击TAAD2.2

TAAD2.2论文概览 0.前言1-101.Bridge the Gap Between CV and NLP! A Gradient-based Textual Adversarial Attack Frameworka. 背景b. 方法c. 结果d. 论文及代码 2.TextHacker: Learning based Hybrid Local Search Algorithm for Text Hard-label Adversarial Attacka. 背景b…

数据结构——lesson6二叉树基础

前言 hellohello~这里是土土数据结构学习笔记🥳🥳 💥个人主页:大耳朵土土垚的博客 💥 所属专栏:数据结构学习笔记 💥对于数据结构顺序表链表有疑问的都可以在上面数据结构的专栏进行学习哦~感…

ping多个IP的工具

Ping Tool 项目地址 python开发的IP搜索小工具 ping一个网段所有IP,显示结果查看某个ip地址开放监听的端口配置可保存