| | |
| | | from log_module import async_log_util |
| | | from log_module.async_log_util import huaxin_l2_log |
| | | from log_module.log import logger_local_huaxin_l2_error, logger_system, logger_local_huaxin_l2_subscript, \ |
| | | logger_local_huaxin_l2_special_volume, logger_debug |
| | | logger_local_huaxin_l2_special_volume, logger_debug, logger_local_huaxin_l2_orderdetail |
| | | from utils import tool |
| | | import collections |
| | | import zmq |
| | |
| | | def set_order_fileter_condition(self, code, min_volume, limit_up_price, shadow_price, buy_volume, special_volumes): |
| | | if not special_volumes: |
| | | special_volumes = set() |
| | | if code not in self.filter_order_condition_dict: |
| | | try: |
| | | # (最小的量, 涨停价格, 影子单价格, 买的量, 废弃使用, 特殊的量集合) |
| | | 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]}") |
| | | except Exception as e: |
| | | logger_debug.error(f"{str(e)} - min_volume-{min_volume}") |
| | | # if code not in self.filter_order_condition_dict: |
| | | try: |
| | | # (最小的量, 涨停价格, 影子单价格, 买的量, 废弃使用, 特殊的量集合) |
| | | 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]}") |
| | | except Exception as e: |
| | | logger_debug.error(f"{str(e)} - min_volume-{min_volume}") |
| | | |
| | | # 过滤订单 |
| | | def __filter_order(self, item): |
| | |
| | | def __run_upload_order_task(self, code): |
| | | q: collections.deque = self.temp_order_queue_dict.get(code) |
| | | temp_list = [] |
| | | filter_condition = self.filter_order_condition_dict.get(code) |
| | | while True: |
| | | try: |
| | | while len(q) > 0: |
| | |
| | | if use_time > 0.01: |
| | | # 记录10ms以上的数据 |
| | | huaxin_l2_log.info(logger_local_huaxin_l2_error, f"耗时:{use_time}s 结束数据:{last_data}") |
| | | temp_list = [] |
| | | |
| | | # 记录所有的订单号 |
| | | if filter_condition: |
| | | 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 if x[2] >= filter_condition[0][0]]}") |
| | | temp_list.clear() |
| | | else: |
| | | if code not in self.temp_order_queue_dict: |
| | | self.l2_order_codes.discard(code) |