在CTP中,如果CTP初始化、TradeAPI、MDAPI登陆都成功,表明CTP真实连接上,但有时是CTP初始化没有成功,但TradeAPI、MDAPI传回的信息表明,,登陆都成功,这时CTP实际上和客户端之间也是没有真实连上的。
成功的例子:
2015-03-10 08:30:27,312 [7] INFO StrategyTrading.Logger – TradeAPI FrontID:1,SessionID:966262844
2015-03-10 08:30:27,312 [7] INFO StrategyTrading.Logger – TradeAPI登陆时间:08:29:56 MaxOrderRef:12015-03-10 08:30:27,312 [7] INFO StrategyTrading.Logger – —>>>TAPI获取当前交易日 = 201503102015-03-10 08:30:27,327 [7] INFO StrategyTrading.Logger – —>>>ID:443026001 投资者结算结果确认:成功2015-03-10 08:30:27,327 [8] INFO StrategyTrading.Logger – —>>>ID:443026002 发送行情登录请求:成功2015-03-10 08:30:27,327 [8] INFO StrategyTrading.Logger – —>>> MD获取当前交易日 = 201503102015-03-10 08:30:27,327 [8] INFO StrategyTrading.Logger – —>>> 发送行情订阅请求: 成功
2015-03-10 08:30:28,341 [7] INFO StrategyTrading.Logger – —>>> ID:443026003,请求查询资金账户:成功
CTP初始化失败的情况:
2015-03-10 20:54:20,394 [7] INFO StrategyTrading.Logger – —>>>ID:442525003 发送交易登录请求:成功2015-03-10 20:54:20,394 [8] INFO StrategyTrading.Logger – —>>>ID:442525002 发送行情登录请求:成功2015-03-10 20:54:20,394 [8] INFO StrategyTrading.Logger – —>>> MD获取当前交易日 = 201503112015-03-10 20:54:20,394 [8] INFO StrategyTrading.Logger – —>>> 发送行情订阅请求: 成功2015-03-10 20:54:21,720 [7] INFO StrategyTrading.Logger – 登陆时间为本机时间,和CTP不同步,请注意!2015-03-10 20:54:21,720 [7] INFO StrategyTrading.Logger – —>>> ErrorID=7, ErrorMsg=CTP:还没有初始化
这种情况的结果是,行情在走,但是交易事实上是发不出去的,是虚拟发出,但是收不到任何真实有效回调信息的。形成一个泥牛入海的状况。
需要注意的是,如果初始化不成功,最重要的要看投资者结算单是否确认成功,如果成功,说明连接是真实成功的。
这种情况,我就真实碰到过,有可能是期货公司那边忘记了初始化,导致CTP无法正常工作。
要克服生活的焦虑和沮丧,得先学会做自己的主人