当前位置: 首页 > 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语言开发效率会高一些
    • 其他语言也是一样,需要自行进行二次封装
http://www.lryc.cn/news/312474.html

相关文章:

  • C++小记 -链表
  • 网络协议学习DAY1
  • vue3中全局变量的定义和获取
  • 1.2 数据模型 数据库系统概论
  • C#中openFileDialog 对话框不在最顶层,TopMost的异常情况
  • 信息安全与阿里云等保三级方案实践总结
  • 嵌入式学习记录——线程
  • 同步服务器操作系统公网仓库到本地 _ 统信UOS _ 麒麟KYLINOS
  • 【数仓】flume常见配置总结,以及示例
  • 统计信息锁定
  • 光猫改为bridge模式
  • 回溯算法01-组合(Java)
  • 初始网络 --- 网络基础
  • 在Linux/Ubuntu/Debian中计算MD5,SHA256的方法
  • mybatis mysql insert 主键id为空
  • 批次大小对ES写入性能影响初探
  • c语言十大核心用法
  • 网页打开慢,这锅该谁背?
  • 题目 1538: 蓝桥杯-格子位置
  • 第十三届蓝桥杯嵌入式省赛程序设计详细题解
  • Go 语言指针
  • 指针运算笔试题解析
  • Matlab梁单元有限元编程 | 铁木辛柯梁 | 欧拉梁 | Matlab源码 | 理论文本
  • Tensorflow2.0笔记 - 常见激活函数sigmoid,tanh和relu
  • 1688商品详情数据采集,工程数据采集丨店铺数据采集丨商品详情数据采集
  • Flutter(四):SingleChildScrollView、GridView
  • 【C++】102.二叉树的层序遍历
  • Java学习笔记006——子类与父类的类型转换
  • FedAsync Asynchronous Federated Optimization
  • 学习基于 JavaScript 语言 的计算机界三大神书”之一 ——SICP