| | |
| | | super_big_num_thresold = int(2e7 / gpcode_manager.get_limit_up_price_as_num(code) / 100) |
| | | for wi in watch_indexes: |
| | | if str(wi) in after_place_order_index_dict: |
| | | # 如果加红就需要计算分母 |
| | | if must_buy: |
| | | total_num += total_data[wi]["val"]["num"] * ( |
| | | 10 - after_place_order_index_dict[str(wi)]) // 10 |
| | | continue |
| | | elif str(wi) in after_place_order_index_by_dict: |
| | | if must_buy: |
| | | total_num += total_data[wi]["val"]["num"] * ( |
| | | 10 - after_place_order_index_by_dict[str(wi)]) // 10 |
| | | continue |
| | | if total_data[wi]["val"]["num"] < super_big_num_thresold: |
| | | total_num += total_data[wi]["val"]["num"] |
| | |
| | | if is_default: |
| | | trade_index = None |
| | | canceled_buyno_map = local_today_canceled_buyno_map.get(code) |
| | | |
| | | # 如果撤单比例设置为100%就不需要计算下单位后面的订单 |
| | | need_compute_after = abs(thresh_hold_rate - 1.00) > 0.0001 |
| | | |
| | | for wi in watch_indexes: |
| | | cancel_data = L2DataComputeUtil.is_canceled(code, wi, total_data, canceled_buyno_map, trade_index, |
| | | deal_order_nos) |
| | | if cancel_data: |
| | | if str(wi) in after_place_order_index_dict: |
| | | if not need_compute_after: |
| | | continue |
| | | # 真实下单位置之后的按照权重比例来计算 |
| | | canceled_num += total_data[wi]["val"]["num"] * ( |
| | | 10 - after_place_order_index_dict[str(wi)]) // 10 |
| | | elif str(wi) in after_place_order_index_by_dict: |
| | | if not need_compute_after: |
| | | continue |
| | | canceled_num += total_data[wi]["val"]["num"] * ( |
| | | 10 - after_place_order_index_by_dict[str(wi)]) // 10 |
| | | else: |
| | |
| | | logger_l2_l_cancel.exception(e) |
| | | raise e |
| | | extra_msg = "L后" |
| | | if not can_cancel: |
| | | # 成交位临近撤 |
| | | try: |
| | | can_cancel, cancel_data = self.__compute_near_by_trade_progress_need_cancel(code, buy_exec_index, |
| | | start_index, end_index, |
| | | total_data, |
| | | is_first_code) |
| | | if can_cancel: |
| | | cancel_type = trade_constant.CANCEL_TYPE_L_UP |
| | | extra_msg = "L前" |
| | | except Exception as e: |
| | | logger_l2_l_cancel.exception(e) |
| | | raise e |
| | | # 不需要计算L前 |
| | | # if not can_cancel: |
| | | # # 成交位临近撤 |
| | | # try: |
| | | # can_cancel, cancel_data = self.__compute_near_by_trade_progress_need_cancel(code, buy_exec_index, |
| | | # start_index, end_index, |
| | | # total_data, |
| | | # is_first_code) |
| | | # if can_cancel: |
| | | # cancel_type = trade_constant.CANCEL_TYPE_L_UP |
| | | # extra_msg = "L前" |
| | | # except Exception as e: |
| | | # logger_l2_l_cancel.exception(e) |
| | | # raise e |
| | | |
| | | try: |
| | | if self.__need_update_l_down_after(code, start_index, end_index): |