| | |
| | | # D撤单 |
| | | # 守护时间 |
| | | D_CANCEL_EXPIRE_TIME = 120 |
| | | D_CANCEL_START_TIME = 2 |
| | | D_CANCEL_START_TIME = 0 |
| | | D_CANCEL_RATE = 0.5 |
| | | |
| | | # L撤 |
| | |
| | | if not orderSysID and orderRef is None: |
| | | raise Exception("没有找到系统订单号或者报单引用") |
| | | req_rid_dict[sinfo] = (client_id, request_id, sk) |
| | | threading.Thread( |
| | | target=lambda: self.__tradeSimpleApi.cancel_buy(code, sinfo, order_sys_id=orderSysID, |
| | | order_ref=orderRef), daemon=True).start() |
| | | |
| | | self.trade_thread_pool.submit( |
| | | lambda: self.__tradeSimpleApi.cancel_buy(code, sinfo, order_sys_id=orderSysID, |
| | | order_ref=orderRef)) |
| | |
| | | left_num += val['num'] * left_count |
| | | # 剩下的不足动态M值的1/2 |
| | | rate = round(float(limit_up_price) * left_num * 100 / m_base_value, 3) |
| | | logger_l2_d_cancel.info( |
| | | f"{code}成交进度({index})到下单位置({real_order_index})的剩余笔数:{left_num},撤单比例:{rate},m值:{m_base_value}") |
| | | l2_log.d_cancel_debug(code, f"成交进度({index})到下单位置({real_order_index})的剩余笔数:{left_num},撤单比例:{rate},m值:{m_base_value}") |
| | | if rate < constant.D_CANCEL_RATE: |
| | | l2_log.cancel_debug(code, "D撤撤单,比例为:{},目标比例{}", rate, constant.D_CANCEL_RATE) |
| | | return True, f"D撤比例为:{rate}" |
| | |
| | | # 设置真实的下单位置 |
| | | def set_real_order_index(self, code, index): |
| | | self.__set_real_order_index(code, index) |
| | | logger_l2_d_cancel.info(f"{code}下单位置设置:{index}") |
| | | l2_log.d_cancel_debug(code, f"下单位置设置:{index}") |
| | | |
| | | def place_order_success(self, code): |
| | | self.clear(code) |
| | |
| | | __add_async_log(logger_l2_l_cancel, code, content, *args) |
| | | |
| | | |
| | | def d_cancel_debug(code, content, *args): |
| | | __add_async_log(logger_l2_l_cancel, code, content, *args) |
| | | |
| | | # 交易记录 |
| | | def trade_record(code, type, content, *args): |
| | | if len(args) > 0: |
| | |
| | | limit_up_record_datas, |
| | | yesterday_current_limit_up_codes, |
| | | before_blocks_dict): |
| | | l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, f"涨停原因({ limit_up_reasons.get(code)})不是老大撤单", "板块撤") |
| | | pass |
| | | # TODO 测试暂时注释 |
| | | # l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, f"涨停原因({ limit_up_reasons.get(code)})不是老大撤单", "板块撤") |
| | | except Exception as e: |
| | | logger_debug.exception(e) |
| | | kpl_data_manager.KPLLimitUpDataRecordManager.save_record(tool.get_now_date_str(), result_list_) |
| | |
| | | rates = [0.34, 0.44, 0.54, 0.64, 0.74, 0.84, 0.94, 1.04] |
| | | if volume_rate_index >= len(rates): |
| | | volume_rate_index = -1 |
| | | return 0.59 # rates[volume_rate_index] |
| | | return 0.79 # rates[volume_rate_index] |
| | | |
| | | |
| | | # H撤参数 |