| | |
| | | if nRequestID not in self.__temp_position_list_dict: |
| | | self.__temp_position_list_dict[nRequestID] = [] |
| | | if bIsLast != 1: |
| | | self.__temp_position_list_dict[nRequestID].append( |
| | | {"investorID": pPositionField.InvestorID, "tradingDay": pPositionField.TradingDay, |
| | | "securityName": pPositionField.SecurityName, |
| | | "securityID": pPositionField.SecurityID, "historyPos": pPositionField.HistoryPos, |
| | | "historyPosFrozen": pPositionField.HistoryPosFrozen, |
| | | "todayBSPos": pPositionField.TodayBSPos, "todayBSPosFrozen": pPositionField.TodayBSPosFrozen, |
| | | "historyPosPrice": pPositionField.HistoryPosPrice, "totalPosCost": pPositionField.TotalPosCost, |
| | | "prePosition": pPositionField.PrePosition, "availablePosition": pPositionField.AvailablePosition, |
| | | "currentPosition": pPositionField.CurrentPosition, "openPosCost": pPositionField.OpenPosCost, |
| | | "todayCommission": pPositionField.TodayCommission, |
| | | "todayTotalBuyAmount": pPositionField.TodayTotalBuyAmount, |
| | | "todayTotalSellAmount": pPositionField.TodayTotalSellAmount}) |
| | | data = {"investorID": pPositionField.InvestorID, "tradingDay": pPositionField.TradingDay, |
| | | "securityName": pPositionField.SecurityName, |
| | | "securityID": pPositionField.SecurityID, "historyPos": pPositionField.HistoryPos, |
| | | "historyPosFrozen": pPositionField.HistoryPosFrozen, |
| | | "todayBSPos": pPositionField.TodayBSPos, "todayBSPosFrozen": pPositionField.TodayBSPosFrozen, |
| | | "historyPosPrice": pPositionField.HistoryPosPrice, "totalPosCost": pPositionField.TotalPosCost, |
| | | "prePosition": pPositionField.PrePosition, |
| | | "availablePosition": pPositionField.AvailablePosition, |
| | | "currentPosition": pPositionField.CurrentPosition, "openPosCost": pPositionField.OpenPosCost, |
| | | "todayCommission": pPositionField.TodayCommission, |
| | | "todayTotalBuyAmount": pPositionField.TodayTotalBuyAmount, |
| | | "todayTotalSellAmount": pPositionField.TodayTotalSellAmount} |
| | | self.__temp_position_list_dict[nRequestID].append(data) |
| | | else: |
| | | # logger.info('查询持仓结束[%d] ErrorID[%d] ErrorMsg[%s]' |
| | | # % (nRequestID, pRspInfoField.ErrorID, pRspInfoField.ErrorMsg)) |
| | | if constant.ENABLE_VIRTUAL_ACCOUNT: |
| | | try: |
| | | position_codes = virtual_trade_account_manager.VirtualAccountPositionManager().get_position_codes() |
| | | async_log_util.info(logger_local_huaxin_trade_debug, f"持仓代码:{position_codes}") |
| | | # 过滤掉非持仓代码 |
| | | results = self.__temp_position_list_dict[nRequestID] |
| | | # TODO 等待打开 |
| | | # self.__temp_position_list_dict[nRequestID] = [x for x in results if |
| | | # x['securityID'] in position_codes] |
| | | except: |
| | | pass |
| | | self.call_back_thread_pool.submit(self.__data_callback, TYPE_LIST_POSITION, nRequestID, |
| | | self.__temp_position_list_dict[nRequestID]) |
| | | |
| | | self.__temp_position_list_dict.pop(nRequestID) |
| | | except: |
| | | pass |