CTP丢成交回报

Discussion in 'CTP' started by holypangzi, Aug 27, 2013.

  1. 打电话给期货公司的技术部,答复是给了我成交回报了。但是我的OnRtnOrder函数的确没被调用……什么情况下连成交回报都会丢呢?
     
  2. 发回报时断了网,不会补发
     
  3. 还有没有其他人有类似经历的(场景是否也是通讯链路中断)?我也想了解下ctp在会话层管理上的技术方案.
    除了丢包,有人碰到过消息乱序的情况么?
     
  4. 这样看来不如FIX了.
     
  5. 我是托管的服务器,怎么会断网
     
  6. 这就不清楚了。客户端程序有没有详细日志,有些问题需要查看日志找原因
     
  7. CTP没有什么像样的文档,没有用户反馈机制,更没有客服。完全不像一个专业的产品。
    不过话说回来了,没有系统是100%可靠的。有这么个东西就将就着用吧。
     
  8. CTP的文档应该很不错的了,用户反馈机制应该也有的,可能偏向机构或专业开发人员而已,关键在你找对地方和人。

    官方文档:
    http://202.109.110.121/sim.htm
     
  9. 不错啊,已经开始提供用于ios系统(如iphone,ipad等)的api了,看看以后会不会提供mac的api?
     
  10. 之前遇到过类似的很奇异的情况 ,比如只出现onrtntrade,或者登陆之后没回调,卡死,onRtnTrade先于OnRtnOrder被调用,
    最后检查发现竟然是头文件和库文件版本不一致~~~
    版本一致的情况下倒是从来没出现过丢包和乱序的问题。即使是从互联网上接入也没出现过。
    FIX要是能接入行情就圆满了,tom他们现在应该也在着手这件事情。
     
  11. 用了这么长时间,重来没发现过丢会报,你OnRtnOrder里面做事情太多了吧,CTP还是很稳定的
     
  12. 我也出现过订单回报丢失的,是程序卡死超时的问题
     
  13. 后来找到原因了。是用了Resume模式导致的,应该用Restart就没事了。
    还有一个细节就是MD和TD那几个con流文件一定要放在不同目录下。
     
  14. 原来如此,我也遇到这个情况了。 要放在不同目录啊。
     

  15. 这个经验好。
     
  16. 如果放在同一个目录下会发生什么呢,我是放在一起的,我到现在好像还没发现问题啊?
     
  17. 参考《API开发FAQ》问题20和问题37

    CTP就是封装了一下FTD期货协议。这几个流文件估计跟FIX的SeqNum机制差不多,储存了一下消息序号而已。

    默认的有几个文件MdApi和TdApi同名的(Dialog.con ,QueryRsp.con TradingDay.con ),如果是订阅消息模式是resume或者quick,每次启动会从本地读取这个消息序号,按照resume quick或者restart 的规则决定从哪个消息序号开始传到本地。

    我看了一下,MdAPi和TdApi的Dialog,QueryRsp,TradingDay是空的。
    TdApi的 Dialog,QueryRsp是空的,
    TradingDay保存的估计是 每次登陆都会返回的日期的消息序号。
    而TdApi多出来的公有流Public.con和私有流Private.con 是 RegisterPublicTopic和ReigisterPrivateTopic 函数产生的。resume quick restart订阅消息的模式对这两个才起作用。

    一般情况下,对MdApi来说,只在交易之前login和subscribe 这几个函数会影响流文件,之后几乎就是 只跟TdApi打交道了,基本上不会遇到相互干扰的情况。所以你没出问题也许是这个原因。

    而楼主遇到的问题,可能是中途遇到断线或者当天在交易时段重启了程序,用resume模式就不会收到成交回报了。restart模式会从当天第一个成交回报开始推送。

    更详细的可以问问jovebird兄。