| | |
| | | |
| | | if huaxin_sinfo_util.is_own_channel(pOrderField.SInfo): |
| | | self.own_order_local_ids.add(pOrderField.OrderLocalID) |
| | | async_log_util.info(logger_local_huaxin_trade_debug, f"自有订单号:{self.own_order_local_ids}") |
| | | async_log_util.info(logger_local_huaxin_trade_debug, f"自有订单号:{pOrderField.OrderLocalID}") |
| | | |
| | | if order_data["orderLocalID"] in self.own_order_local_ids: |
| | | virtual_trade_account_manager.VirtualAccountOrderProcessUtil.set_order_status(order_data) |
| | |
| | | |
| | | # 成交回报,参数pTradeField是一个CTORATstpTradeField类对象 |
| | | def OnRtnTrade(self, pTradeField: "CTORATstpTradeField") -> "void": |
| | | pass |
| | | try: |
| | | # if constant.ENABLE_VIRTUAL_ACCOUNT and pTradeField.OrderLocalID not in self.own_order_local_ids: |
| | | # # 非自有渠道的单 |
| | | # return |
| | | async_log_util.info(logger_local_huaxin_trade_debug, |
| | | 'OnRtnTrade: TradeID[%s] InvestorID[%s] SecurityID[%s] OrderRef[%d] OrderLocalID[%s] Price[%.2f] Volume[%d]' |
| | | % (pTradeField.TradeID, pTradeField.InvestorID, pTradeField.SecurityID, |
| | | pTradeField.OrderRef, pTradeField.OrderLocalID, pTradeField.Price, |
| | | pTradeField.Volume)) |
| | | trade_data = { |
| | | "direction": pTradeField.Direction, "orderSysID": pTradeField.OrderSysID, |
| | | "securityID": pTradeField.SecurityID, |
| | | "tradeID": pTradeField.TradeID, "orderLocalID": pTradeField.OrderLocalID, "price": pTradeField.Price, |
| | | "volume": pTradeField.Volume, "tradeDate": pTradeField.TradeDate, "tradeTime": pTradeField.TradeTime |
| | | } |
| | | async_log_util.info(logger_local_huaxin_trade_deal, f"{trade_data}") |
| | | except: |
| | | pass |
| | | # logger.info("OnRtnTrade") |
| | | |
| | | # 查询成交响应,参数pTradeField是一个CTORATstpTradeField类对象 |