加载中…
个人资料
王衣谷量化交易
王衣谷量化交易
  • 博客等级:
  • 博客积分:0
  • 博客访问:6,359
  • 关注人气:345
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

CTP初次接触三:官方CTP交易DEMO里的内容

(2015-10-30 10:56:34)
标签:

程序化交易

交易策略

量化交易

私募

投资理财

分类: 04量化IT技术

                                               门外汉的IT学习笔记

 这是一个VS C++的控制台程序,没有界面。需要把官方提供的开发包,放置到程序的某个目录下。

VC程序通过#include ThostFtdcTraderApi.h,知道交易的类和功能(ThostFtdcTraderApi.lib),里面有两个类CThostFtdcTraderApi(交易申请)和CThostFtdcTraderSpi(交易响应)。
CThostFtdcTraderSpi(响应)类也需要继承才能使用,建立新类TraderSpi.h,在TraderSpi.h和TraderSpi.CPP文件里,里面有很多虚函数,需要在新类里实现代码(TraderSpi.cpp

程序从程序入口在开始运行(testTraderApi.cpp
void main(void)
{
// 初始化UserApi
pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi(); // 创建UserApi
CTraderSpi* pUserSpi = new CTraderSpi();
pUserApi->RegisterSpi((CThostFtdcTraderSpi*)pUserSpi); // 注册事件类
pUserApi->SubscribePublicTopic(TERT_RESTART); // 注册公有流
pUserApi->SubscribePrivateTopic(TERT_RESTART); // 注册私有流
pUserApi->RegisterFront(FRONT_ADDR); // connect
pUserApi->Init();
pUserApi->Join();
// pUserApi->Release();
}
和行情部分的代码基本是类似的。
一、生成了API和SPI的两个类,一个负责交易申请,一个负责交易回报,并让两个类认识了一下。pUserApi->RegisterSpi(pUserSpi)

二、然后和行情服务器打招呼,我这里有个API类,你先认识下,过会我要来串门。pUserApi->RegisterFront(FRONT_ADDR)FRONT_ADDR是交易服务器的地址。

三、这里还要做两件事情,注册公有流和注册私有流。这是和行情那部分不一样的。公有流:交易所向所有连接着的客户端发布的信息。私有流:交易所向特定客户端发送的信息。如报单回报,成交回报。

三、然后,初始了一个线程,开始与交易服务器链接,准备串门了, Init、Join如果交易服务器是可链接的,就提供经纪公司代码、投资者代码、密码去登陆系统,ReqUserLogin。

四、登陆成功了,就可以根据需要,进行相关交易操作了。比如,你可以查询资金账户ReqQryTradingAccount,比如查询投资者持仓ReqQryInvestorPosition,比如下一张委托 单ReqOrderInsert等等。

对了,程序跑起来,大概是这个样子


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有