Example #1
0
 def OnFrontConnected(self):
     logger.info('OnFrontConnected')
     req = ApiStructure.ReqAuthenticateField(BrokerID=self.broker_id,
                                             UserID=self.investor_id,
                                             AuthCode=self.auth_code,
                                             AppID=self.app_id)
     self.ReqAuthenticate(req, self.inc_request_id())
Example #2
0
 def OnRspAuthenticate(self, pRspAuthenticateField, pRspInfo, nRequestID,
                       bIsLast):
     logger.info('OnRspAuthenticate')
     req = ApiStructure.ReqUserLoginField(BrokerID=self.broker_id,
                                          UserID=self.investor_id,
                                          Password=self.passwd)
     self.ReqUserLogin(req, self.inc_request_id())
Example #3
0
    def OnHeartBeatWarning(self, nTimeLapse):
        """
        心跳超时警告。当长时间未收到报文时,该方法被调用。

        :param nTimeLapse: 距离上次接收报文的时间
        :return:
        """
        logger.info('OnHeartBeatWarning, nTimeLapse = %s' % nTimeLapse)
Example #4
0
 def OnFrontConnected(self):
     """
     当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。
     :return:
     """
     logger.info('OnFrontConnected')
     req = ApiStructure.ReqUserLoginField(BrokerID=self.broker_id, UserID=self.investor_id, Password=self.passwd)
     self.requestid += 1
     r = self.ReqUserLogin(req, self.requestid)
Example #5
0
 def OnFrontDisconnected(self, nReason):
     """
     当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。
     @param nReason 错误原因
         4097 0x1001 网络读失败
         4098 0x1002 网络写失败
         8193 0x2001 读心跳超时
         8194 0x2002 发送心跳超时
         8195 0x2003 收到不能识别的错误消息
     客户端与服务端的连接断开有两种情况:
         网络原因导致连接断开
         服务端主动断开连接
     服务器主动断开连接有两种可能:
         客户端长时间没有从服务端接收报文,时间超时
         客户端建立的连接数超过限制
     :param nReason:
     """
     logger.info('onFrontDisConnected, nReason = %d' % nReason)
Example #6
0
 def OnHeartBeatWarning(self, nTimeLapse):
     logger.info('OnHeartBeatWarning, nTimeLapse = %s' % nTimeLapse)
Example #7
0
 def OnFrontDisconnected(self, nReason):
     logger.info('OnFrontDisconnected, nReason = %d' % nReason)
Example #8
0
 def OnRtnTrade(self, pTrade):
     logger.info('OnRtnTrade %s' % str(pTrade))
     DatabaseController.insert_RtnOrder(pTrade)
Example #9
0
 def OnRtnTrade(self, pTrade):
     logger.info('OnRtnTrade %s' % pTrade.to_dict())
     DatabaseController.insert_RtnOrder(
         pTrade.to_dict())  # dict will change bytes to str
Example #10
0
 def OnFrontConnected(self):
     logger.info('OnFrontConnected')
     req = ApiStruct.ReqUserLogin(BrokerID=self.broker_id, UserID=self.investor_id, Password=self.passwd)
     self.ReqUserLogin(req, self.inc_request_id())
Example #11
0
 def OnHeartBeatWarning(self, time):
     logger.info('OnHeartBeatWarning, time = %s' % time)
Example #12
0
 def OnFrontDisConnected(self, reason):
     logger.info('onFrontDisConnected, reason = %d' % reason)
Example #13
0
 def isErrorRspInfo(self, info):
     if info.ErrorID !=0:
         logger.info('ErrorID=%d, ErrorMsg=%s' % (info.ErrorID, info.ErrorMsg.decode('gbk')))
     return info.ErrorID !=0
Example #14
0
 def OnRspOrderInsert(self, pInputOrder, pRspInfo, nRequestID, bIsLast):
     print('报单回报。', pInputOrder)
     if bIsLast and not self.isErrorRspInfo(pRspInfo):
         print('报单回报:', pInputOrder)
         logger.info('OnRspOrderInsert %s' % pInputOrder.InstrumentID)
Example #15
0
 def OnRspUserLogin(self, pRspUserLogin, pRspInfo, nRequestID, bIsLast):
     if bIsLast and not self.isErrorRspInfo(pRspInfo):
         logger.info('OnRspUserLogin %s' % bIsLast)
         req = ApiStructure.SettlementInfoConfirmField(
             BrokerID=self.broker_id, InvestorID=self.investor_id)
         self.ReqSettlementInfoConfirm(req, self.inc_request_id())
Example #16
0
 def OnRspOrderInsert(self, pInputOrder, pRspInfo, nRequestID, bIsLast):
     if bIsLast and not self.isErrorRspInfo(pRspInfo):
         logger.info('OnRspOrderInsert %s' % pInputOrder['InstrumentID'])
Example #17
0
 def OnRspUserLogin(self, userlogin, info, rid, is_last):
     if is_last and not self.isErrorRspInfo(info):
         logger.info('OnRspUserLogin %s' % is_last)
         req = ApiStruct.SettlementInfoConfirm(BrokerID=self.broker_id, InvestorID=self.investor_id)
         self.ReqSettlementInfoConfirm(req, self.inc_request_id())
Example #18
0
 def isErrorRspInfo(self, info):
     if info.ErrorID != 0:
         logger.info('ErrorID=%d, ErrorMsg=%s' % info.ErrorID %
                     info.ErrorMsg.decode('gbk'))
     return info.ErrorID != 0
Example #19
0
 def OnRspOrderInsert(self, pInputOrder, pRspInfo, nRequestID, bIsLast):
     if bIsLast and not self.isErrorRspInfo(pRspInfo):
         logger.info('OnRspOrderInsert %s' % pInputOrder.InstrumentID)