断断续续的一年时间,终于把这个对接期货交易平台的工作给做成了产品。以下是个人的吐槽。

1.文档

CTP是有好几个文档,但是作为一个软件开发指导,未免也太简陋了。

“综合交易平台API说明”,这个是它的API介绍了。但是缺少接口调用的上下文约定的描述,接口介绍也够简单的。

“综合交易平台交易API特别说明”与“综合交易平台API开发常见问题列表”看到这两个文档,总算能从字里行间看到部分的接口使用规范了。可是其中某些描述,比如:

11. 综合交易平台能显示买卖价的深度行情吗? 比如说 10 档买卖价? 

综合交易平台行情是从期货公司的远程席位获得,交易所分配给各期货公司的远程

席位能够取得数据,综合交易平台都能提供给期货公司的客户。 综合交易平台系统使

用期货公司的远程席位登录交易所系统,对交易及数据的操作权限完全来源于期货公

司。上期所也没有给我们提供任何市场之外的帮助或默许,但由于综合交易平台强大的

数据处理能力,为期货投资者提供上期所早已公开提供的无限深度行情数据也有了技术

上的可行性”。

再比如:

32. 持仓查询记录中的昨持仓是今天开盘前的一个初始值,不会因为平昨或者平仓而减少。

当前时侯的昨持仓=总持仓-今持仓。YdPosition := Position - TodayPosition”。

我只能呵呵了。

2.报单状态

如果想获得报单的实时状态,就去找OnRtnOrder吧!

如果你想被弄的晕头转向,就去看看OnRtnOrder中关于那些状态的字段吧!

对于一个本来已经成熟的系统,如果要对接CTP,那是让人欲仙欲死的体验。

报单被发出去了吗?文档中这样描述:

如用户报单录入ReqOrderInsert,马上会收到报单响应OnRspOrderInsert,说明交易系统已经收到报单。报单进入交易系统后,如果报单的交易状态发生变化,就会收到报单回报OnRtnOrder”。

你信以为真了吗?再看看特别说明吧!你大概会收获这样一段话:

Thost 收到报单指令,如果没有通过参数校验,拒绝接受报单指令。用户就会收到 OnRspOrderInsert 消息,其中包含了错误编码和错误消息。 如果Thost接受了报单指令, 用户不会收到OnRspOrderInser, 而会收到OnRtnOrder, 用来更新委托状态”。

……

读完文档,你确定了报单的状态,感觉很清晰是吗?嘿嘿。。。你知道的这里也有几个坑的。

你肯定看到这样的描述了:

///全部成交 #define THOST_FTDC_OST_AllTraded '0'

///部分成交还在队列中 #define THOST_FTDC_OST_PartTradedQueueing '1'

///部分成交不在队列中 #define THOST_FTDC_OST_PartTradedNotQueueing '2'
///未成交还在队列中 #define THOST_FTDC_OST_NoTradeQueueing '3'

///未成交不在队列中 #define THOST_FTDC_OST_NoTradeNotQueueing '4'

///撤单 #define THOST_FTDC_OST_Canceled '5'

///未知,表示Thost已经接受用户的委托指令,还没有转发到交易所 #define THOST_FTDC_OST_Unknown 'a'

///尚未触发 #define THOST_FTDC_OST_NotTouched 'b'

但是这不是全部。是否在回调的返回结果的结构里看到下面的字段了。

///报单提交状态  TThostFtdcOrderSubmitStatusType OrderSubmitStatus;

对,去找找关于它的描述吧。或许反复多抓一些数据比文档更靠谱。

3.其它

至于结算单查询,持仓查询和资金查询这都是小儿科了,那个pRspInfo真是让人又爱又恨呐。偶尔一个空指针也不算什么了。

还有那个接收到不是本机发出订单的回报,我相信你肯定被它惊喜过。

好了,就这些。因为本次定的基调是吐槽,所以没有几个有用的信息。估计等我再整理下,写一个系统的介绍,希望能帮助一个刚开始开发Ctp程序的孩子少踩几个坑。

转载于:https://www.cnblogs.com/puray/p/3912898.html

CTP综合交易平台-开发后感相关推荐

  1. CTP综合交易平台接口-程序化交易编程模板(VC源码)

    期货程序化VC++ vs2008代码,自己只要编写交易策略部分即可,简单方便 动态行情.任意分钟K线.Tick数据自维护,自动收盘, 从文件brokers.xml找期货公司代码 直连期货公司交易服务器 ...

  2. 穿透版CTP综合交易平台接口V2.0-程序化交易编程模板(VC源码)

    期货程序化VC++ .做最好用的程序化交易软件. 最快的交易速度.最简单的交易策略编写.高级语言竟然如此简单! void MA_CROSS_Trade(CThostFtdcDepthMarketDat ...

  3. 综合交易平台交易终端及用户手册

    □ 综合交易平台交易终端[F:\CTP\综合交易平台交易终端及用户手册] 终端名称 最新版本 说明 下载 综合交易平台--管理终端 交易员 ThostUser 版本: V6.2.0 new 日期: 2 ...

  4. 综合交易平台API技术开发指南

    综合交易平台API技术开发指南 第一章CTP 产品特性  1. 如何获取综合交易平台(Comprehensive Transaction Platform 以下简称 CTP)证券(期 货)交易及行情 ...

  5. 什么是上期技术综合交易平台[CTP]?

    上期技术综合交易平台[CTP]现在已经慢慢浮出水面,进入了更多期货交易者的视线,但是大部分人对CTP还是知之甚少,或者有着很多的误解.我这里就用大白话简单说说CTP究竟是什么,用来干什么的,然后转载一 ...

  6. 上期技术综合交易平台[CTP]

    上期技术综合交易平台[CTP]现在已经慢慢浮出水面,进入了更多期货交易者的视线,但是大部分人对CTP还是知之甚少,或者有着很多的误解.我这里就用大白话简单说说CTP究竟是什么,用来干什么的,然后转载一 ...

  7. [转载]Python量化交易平台开发教程系列0-引言

    原文出处:http://vnpy.org/2015/03/04/20150304_Python%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E5%B9%B3%E5%8F%B ...

  8. Python量化交易平台开发教程系列0-引言

    原创文章,转载请注明出处:用Python的交易员 为什么用Python来开发量化交易平台 目前本人所在的公司一共有三款平台,分别基于C++, C#和Python.其中C#和Python平台都是由交易员 ...

  9. Python量化交易平台开发教程系列7-顶层GUI界面开发(1)

    原创文章,转载请注明出处:用Python的交易员 前言 终于有时间来写第一篇顶层GUI界面开发相关的教程了,之前实在是事情太多,跟各位读者抱个歉. 整合底层接口的各项功能到中层引擎中后,当我们开发顶层 ...

最新文章

  1. 计算机学win7画图,Win7系统自带画图工具如何打开?win7打开画图工具教程
  2. 红帽计划收购API管理领导者3scale
  3. 【kernel 中内存分配那点事】
  4. python bashplotlib_Matplotlib 中文用户指南 7.2 Python shell 中使用 Matplotlib
  5. 阿里云IoT Studio升级版新增解决方案引擎,大幅提升方案交付效率
  6. Today is my birthday
  7. Android之通过ContentProvider实现两个app(进程间)间通信以及函数调用
  8. 计算机桌面游戏开发,桌面游戏菜单怎么做
  9. 管天管地管空气!谷歌探索用CV估算空气质量
  10. 输出svn版本号到头文件
  11. windows安装fiddler
  12. iOS支付指南:POS终端刷卡流程(发卡行返回码)、结算周期、付款码二维码编码规则、脱敏规范、银行卡号有效性校验、扫码验证密码规则、测试辅助工具、【签购单未打印,但持卡人收到扣款信息,商户的处理方案】
  13. Jmeter使用技巧集锦大全
  14. 软件破解逆向安全(十二)内存特征码
  15. 开源数据库连接池的使用
  16. load average 计算
  17. 预防死锁的方法以及死锁的检测与解除
  18. Python警告控制模块:warnings
  19. 两平面平行但不重合的条件是_____黑龙江省大庆外国语学校高中数学_第二章《2.2_直线、平面平行的判定及其性质》单元测试5_新人教A版必修3...
  20. python读取文件并打印_Python3.4如何读取一个文件并打印

热门文章

  1. 查看Linux服务器下的内存使用情况
  2. C#编程(五十三)----------字典DictionaryTKey,TValue
  3. jquery插件制作
  4. 小白学数据分析-----付费渗透率再研究
  5. column 对齐排列命令
  6. 优秀代码的必知必会(一)?
  7. 对LinqtoExcel的扩展 【数据有限性,逻辑有效性】
  8. 疯狂ios之疯狂打飞机游戏(3)
  9. 数据库迁移用到的命令
  10. PHP命名规范【转】