| | |
| | | self.market_data_queue = market_data_queue |
| | | self.temp_order_queue_dict = {} |
| | | self.temp_transaction_queue_dict = {} |
| | | self.filter_order_condition_dict = {} |
| | | |
| | | # TODO 需要调用 |
| | | # 设置订单过滤条件 |
| | | def set_order_fileter_condition(self, code, min_volume, special_volumes=None, special_volumes_expire_time=None): |
| | | if special_volumes is None: |
| | | special_volumes = set() |
| | | self.filter_order_condition_dict[code] = [min_volume, special_volumes, special_volumes_expire_time] |
| | | |
| | | # 过滤订单 |
| | | def __filter_order(self, item): |
| | | filter_condition = self.filter_order_condition_dict.get(item[0]) |
| | | if filter_condition: |
| | | # item[2]为量 |
| | | if item[2] >= filter_condition[0]: |
| | | return item |
| | | if filter_condition[1] and item[2] in filter_condition[1]: |
| | | if filter_condition[2] and time.time() > filter_condition[2]: |
| | | # 超时了,需要清除特殊量数据 |
| | | filter_condition[1] = set() |
| | | filter_condition[2] = None |
| | | return None |
| | | return item |
| | | return None |
| | | return item |
| | | |
| | | # 添加委托详情 |
| | | def add_l2_order_detail(self, data, start_time, istransaction=False): |
| | |
| | | try: |
| | | if not q: |
| | | data = q.popleft() |
| | | temp_list.append(data) |
| | | # 前置数据处理,过滤掉无用的数据 |
| | | data = self.__filter_order(data) |
| | | if data: |
| | | temp_list.append(data) |
| | | else: |
| | | if temp_list: |
| | | # 上传数据 |