CTP接口入门

该文章主要讲什么

这篇文章的面向对象是有一些C++基础,并且想用C++来做程式化交易的同学。
这篇文章可以算是我的程式化学习笔记中的一篇。其中介绍了CTP的简单的使用方式,并且附上了一些代码以及我在试用的时候遇到的一些小坑。

什么是CTP

CTP是上海期货推出的一套可供程序调用的交易接口。就好比官方给程序化交易提供了的一个专门的业务窗口。

接口相关文件下载

CTP接口可以在上期官网下载
上期的CTP接口维护似乎比较混乱,新旧版本混在一起了。
我们只需要下载最新版本的API接口API文档 (以下简称doc)即可。

环境搭建

按照doc里说的,搭建好环境就可以用了。
虽然所需的东西在doc里都说明了,但是在这里我还是简单地复述一下吧。

项目创建

使用Visual Studio,建立新项目,将头文件,库文件还有dll的路径设置好就行了。

前置知识

  • CTP的所有接口都分为Spi和Api两种,分别对应C++中的类:XXXXSpi和XXXXApi。下面说的Api和Spi指的都是这两种东西。
  • 我们主动对服务器发出的请求都是通过Api进行
  • 而服务器的所有响应消息,都得用Spi,通过重写虚函数的形式接收
  • 所有Api都有自己的创建(实例化)方法:XXXXApi::CreateXXXXApi,不应使用new
  • Spi没有自己的实例化方法,可以按自己喜欢的方式实例化。但是Spi必须注册到Api中才会有用。
  • Spi和Api一般是配套的,通用的初始化方式是(以CThostFtdcMdApi为例子,其他的都一样):
auto market_api = CThostFtdcMdApi::CreateFtdcMdApi("flow", false);  // 创建Api
MdSpi mdspi(market_api);                                            // 创建Spi(MdSpi继承于CThostFtdcMdSpi)
market_api->RegisterSpi(&mdspi);                                    // 将Spi注册到Api(将Spi与Api关联在一起&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值