| | |
| | | # 下单位临近撤 |
| | | can_cancel, cancel_data = self.__compute_need_cancel(code, buy_exec_index, start_index, end_index, total_data, |
| | | is_first_code) |
| | | extra_msg = "L下" |
| | | if not can_cancel: |
| | | # 成交位临近撤 |
| | | 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) |
| | | return can_cancel, cancel_data |
| | | extra_msg = "L上" |
| | | return can_cancel, cancel_data, extra_msg |
| | | |
| | | def place_order_success(self, code): |
| | | self.clear(code) |
| | |
| | | def l_cancel(_buy_single_index, _buy_exec_index): |
| | | _start_time = round(t.time() * 1000) |
| | | try: |
| | | b_need_cancel, b_cancel_data = cls.__LCancelBigNumComputer.need_cancel(code, |
| | | _buy_exec_index, start_index, |
| | | end_index, total_data, |
| | | is_first_code) |
| | | b_need_cancel, b_cancel_data, extra_msg = cls.__LCancelBigNumComputer.need_cancel(code, |
| | | _buy_exec_index, |
| | | start_index, |
| | | end_index, total_data, |
| | | is_first_code) |
| | | if b_need_cancel and b_cancel_data: |
| | | return b_cancel_data, "L撤销比例触发阈值" |
| | | return b_cancel_data, f"L撤销比例触发阈值({extra_msg})" |
| | | except Exception as e: |
| | | async_log_util.error(logger_l2_error, |
| | | f"参数:buy_single_index-{_buy_single_index} buy_exec_index-{_buy_exec_index}") |
| | |
| | | cancel_data, cancel_msg = h_cancel(buy_single_index, buy_exec_index) |
| | | if cancel_data: |
| | | l2_log.debug(code, "触发撤单,撤单位置:{} ,撤单原因:{}", cancel_data["index"], cancel_msg) |
| | | l2_log.trade_record(code, "撤单", "'index':{} , 'msg':'{}'", cancel_data["index"], cancel_msg) |
| | | |
| | | # 撤单 |
| | | cls.cancel_buy(code, cancel_msg, cancel_index=cancel_data["index"]) |
| | | # 撤单成功,继续计算下单 |
| | |
| | | cls.__LatestCancelIndexManager.set_latest_cancel_index(code, cancel_index) |
| | | cancel_result = cls.__cancel_buy(code) |
| | | if cancel_result: |
| | | l2_log.trade_record(code, "撤单", "'index':{} , 'msg':'{}'", cancel_index, msg) |
| | | trade_result_manager.real_cancel_success(code, buy_single_index, buy_exec_index, total_datas) |
| | | l2_log.debug(code, "执行撤单结束,原因:{}", msg) |
| | | return True |