| | |
| | | # (最小的量, 涨停价格, 影子单价格, 买的量, 废弃使用, 特殊的量集合) |
| | | self.filter_order_condition_dict[code] = [(min_volume, limit_up_price, shadow_price, buy_volume, |
| | | int(min_volume) // 50, set(special_volumes))] |
| | | huaxin_l2_log.info(logger_local_huaxin_l2_subscript, |
| | | f"({code})常规过滤条件设置:{self.filter_order_condition_dict[code]}") |
| | | # logger_local_huaxin_l2_subscript.info(f"({code})常规过滤条件设置:{self.filter_order_condition_dict[code]}") |
| | | except Exception as e: |
| | | logger_debug.error(f"{str(e)} - min_volume-{min_volume}") |
| | | |
| | | # 过滤订单 |
| | | def __filter_order(self, item, filter_condition): |
| | | |
| | | 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][0]: |
| | |
| | | temp_list = [] |
| | | while True: |
| | | try: |
| | | filter_condition = self.filter_order_condition_dict.get(code) |
| | | while len(q) > 0: |
| | | data = q.popleft() |
| | | # 前置数据处理,过滤掉无用的数据 |
| | | data = self.__filter_order(data, filter_condition) |
| | | data = self.__filter_order(data) |
| | | if data: |
| | | temp_list.append(data) |
| | | |
| | |
| | | # 记录10ms以上的数据 |
| | | huaxin_l2_log.info(logger_local_huaxin_l2_error, |
| | | f"耗时:{use_time}s 结束数据:{last_data} 数据数量:{len(temp_list)}") |
| | | # TODO测试 ,记录所有的订单号 |
| | | huaxin_l2_log.info(logger_local_huaxin_l2_orderdetail, |
| | | f"{[(x[0], x[1], x[2], x[4], x[8]) for x in temp_list]}") |
| | | temp_list = [] |
| | | else: |
| | | if code not in self.temp_order_queue_dict: |
| | |
| | | break |
| | | self.l2_transaction_codes.add(code) |
| | | time.sleep(0.001) |
| | | except: |
| | | pass |
| | | except Exception as e: |
| | | logger_local_huaxin_l2_error.exception(e) |
| | | finally: |
| | | temp_list.clear() |
| | | |