| | |
| | | from l2.safe_count_manager import BuyL2SafeCountManager |
| | | from l2.transaction_progress import TradeBuyQueue |
| | | from output import kp_client_msg_manager |
| | | from trade import trade_data_manager, trade_queue_manager, l2_trade_factor |
| | | from l2 import l2_log, l2_data_log, l2_data_source_util |
| | | from trade import trade_queue_manager, l2_trade_factor |
| | | from l2 import l2_log, l2_data_source_util |
| | | from l2.l2_data_util import L2DataUtil, local_today_num_operate_map, local_today_datas |
| | | from log_module.log import logger_buy_1_volumn, logger_l2_h_cancel, logger_l2_s_cancel, logger_l2_d_cancel, \ |
| | | logger_l2_l_cancel |
| | | from log_module.log import logger_buy_1_volumn, logger_l2_d_cancel |
| | | from utils.tool import CodeDataCacheUtil |
| | | |
| | | |
| | |
| | | l2_log.cancel_debug(code, "H级撤单计算结果 范围:{}-{} 处理进度:{} 取消计算结果:{}/{} 目标撤单比例:{}", start_index, end_index, |
| | | process_index, cancel_num, |
| | | total_nums, cancel_rate_threshold) |
| | | logger_l2_h_cancel.info( |
| | | f"code-{code} H级撤单计算结果 范围:{start_index}-{end_index} 处理进度:{process_index} 目标比例:{cancel_rate_threshold} 取消计算结果:{cancel_num}/{total_nums}") |
| | | l2_log.h_cancel_debug(code,f"H级撤单计算结果 范围:{start_index}-{end_index} 处理进度:{process_index} 目标比例:{cancel_rate_threshold} 取消计算结果:{cancel_num}/{total_nums}") |
| | | # H撤已撤订单 |
| | | logger_l2_h_cancel.info(f"code-{code} H撤已撤订单:{self.__get_watch_canceled_index_cache(code)}") |
| | | l2_log.h_cancel_debug(code, f"H撤已撤订单:{self.__get_watch_canceled_index_cache(code)}") |
| | | # 保存处理进度与数据 |
| | | self.__save_compute_data(code, process_index, cancel_num) |
| | | # 有观测数据撤单 |
| | |
| | | local_today_num_operate_map) |
| | | else: |
| | | self.__save_traded_progress(code, origin_index, index) |
| | | logger_l2_h_cancel.info(f"code-{code} 成交进度:{index} 数据结束位置:" + str(total_data[-1]["index"])) |
| | | l2_log.h_cancel_debug(code, f"成交进度:{index} 数据结束位置:" + str(total_data[-1]["index"])) |
| | | |
| | | # 涨停买是否撤单 |
| | | def __get_limit_up_buy_no_canceled_count(self, code, index, total_data, local_today_num_operate_map, |
| | |
| | | |
| | | final_watch_list = list(watch_set) |
| | | final_watch_list.sort(key=lambda x: x[0]) |
| | | logger_l2_h_cancel.info(f"code-{code} H撤监控成交位到执行位:{final_watch_list}") |
| | | l2_log.h_cancel_debug(code,f"H撤监控成交位到执行位:{final_watch_list}") |
| | | self.__save_watch_index_set(code, final_watch_list, buy_exec_index, True) |
| | | # 删除原来的计算数据 |
| | | # cls.__del_compute_data(code) |
| | |
| | | |
| | | final_watch_list = list(watch_set) |
| | | final_watch_list.sort(key=lambda x: x[0]) |
| | | logger_l2_h_cancel.info(f"code-{code} H撤监控执行位相邻单:{final_watch_list} 目标计算数量:{MIN_H_COUNT}") |
| | | l2_log.h_cancel_debug(code, f"H撤监控执行位相邻单:{final_watch_list} 目标计算数量:{MIN_H_COUNT}") |
| | | # 保存计算范围 |
| | | self.__save_watch_index_set_after_exec(code, final_watch_list, process_index, total_count, big_num_count, |
| | | finished) |
| | |
| | | |
| | | if len(watch_indexes) >= constant.L_CANCEL_MAX_WATCH_COUNT: |
| | | break |
| | | logger_l2_l_cancel.info(f"{code}:设置监听范围,成交进度-{index} 监听范围-{watch_indexes}") |
| | | l2_log.l_cancel_debug(code, f"设置监听范围,成交进度-{index} 监听范围-{watch_indexes}") |
| | | # 数据维护 |
| | | add_indexes = watch_indexes - old_watch_indexes |
| | | delete_indexes = old_watch_indexes - watch_indexes |
| | |
| | | local_today_num_operate_map) |
| | | canceled_num += (total_data[wi]["re"] - left_count) * int(total_data[wi]["val"]["num"]) |
| | | rate = round(canceled_num / total_num, 3) |
| | | logger_l2_l_cancel.info(f"{code}:计算范围:{start_index}-{end_index},已撤单比例:{rate}") |
| | | l2_log.l_cancel_debug(code, f"计算范围:{start_index}-{end_index},已撤单比例:{rate}") |
| | | if rate >= constant.L_CANCEL_RATE: |
| | | return True, total_data[-1] |
| | | |