| | |
| | | def __recompute_real_order_index(cls, code, pre_real_order_index, order_info, compute_type): |
| | | # 1s之后重新计算 |
| | | time.sleep(1) |
| | | real_order_index = huaxin_delegate_postion_manager.RealDelegateOrderPositionManager().recompute_l2_place_order_position(code, order_info, pre_real_order_index, compute_type) |
| | | if real_order_index and pre_real_order_index!=real_order_index: |
| | | real_order_index = huaxin_delegate_postion_manager.RealDelegateOrderPositionManager().recompute_l2_place_order_position( |
| | | code, order_info, pre_real_order_index, compute_type) |
| | | if real_order_index and pre_real_order_index != real_order_index: |
| | | try: |
| | | exec_index = order_info[6] |
| | | order_begin_pos = cls.__get_order_begin_pos( |
| | |
| | | order_begin_pos = cls.__get_order_begin_pos( |
| | | code) |
| | | cls.set_real_place_order_index(code, place_order_index, order_begin_pos) |
| | | if not constant.IS_NEW_VERSION_PLACE_ORDER: |
| | | try: |
| | | cls.__re_compute_threading_pool.submit( |
| | | cls.__recompute_real_order_index, code, place_order_index, order_info, |
| | | compute_type) |
| | | except: |
| | | pass |
| | | try: |
| | | cls.__re_compute_threading_pool.submit( |
| | | cls.__recompute_real_order_index, code, place_order_index, order_info, |
| | | compute_type) |
| | | except: |
| | | pass |
| | | async_log_util.info(logger_l2_process, f"code:{code} 获取到下单真实位置:{place_order_index}") |
| | | |
| | | # 处理涨停卖与涨停卖撤 |
| | |
| | | big_order_deal_enough_result = radical_buy_data_manager.is_big_order_deal_enough(code, |
| | | code_volumn_manager.CodeVolumeManager().get_volume_rate_refer_in_5days( |
| | | code), |
| | | refer_sell_money, for_buy=True) |
| | | refer_sell_money, |
| | | for_buy=True) |
| | | # 缺乏的大单金额 |
| | | lack_money = big_order_deal_enough_result[3] |
| | | # 如果有大单成交就不需要看大单 |
| | |
| | | th_sell = BeforeSubDealBigOrderManager().get_big_sell_order_threshold(code) |
| | | deal_big_money_info = radical_buy_data_manager.get_total_deal_big_order_info( |
| | | code, gpcode_manager.get_limit_up_price_as_num(code)) |
| | | big_money_rate = radical_buy_data_manager.TotalDealBigOrderInfoManager.get_big_order_rate( |
| | | code) |
| | | if not big_money_rate: |
| | | big_money_rate = 0 |
| | | # 大单成交信息 |
| | | deal_big_order_info = [ |
| | | (output_util.money_desc(th_temp_buy_info[0] if th_temp_buy_info else 0), # 临时买大单阈值 |
| | | output_util.money_desc(th_buy), # 买大单阈值 |
| | | output_util.money_desc(th_sell) |
| | | ), # 卖单阈值 |
| | | output_util.money_desc(th_sell), # 卖单阈值 |
| | | big_money_rate*100 # 大单成交比 |
| | | ), |
| | | output_util.money_desc(deal_big_money_info[1]), |
| | | output_util.money_desc(deal_big_money_info[2])] |
| | | if len(codes) == 1: |
| | |
| | | self.__temp_big_order_threshold[code] = (int(sum(money_list[:2]) // 2), time.time()+10) |
| | | async_log_util.info(logger_l2_radical_buy_data, |
| | | f"首次上板临时买大单:{code}-{self.__temp_big_order_threshold[code]}-{fmoney_list[:2]}") |
| | | trade_record_log_util.add_common_msg(code, "首封大单设置", f"{self.__temp_big_order_threshold[code][0]}") |
| | | |
| | | def get_temp_deal_big_order_threshold_info(self, code): |
| | | data = self.__temp_big_order_threshold.get(code) |
| | |
| | | _code_list.append((rate, code, order_index)) |
| | | else: |
| | | _delete_list.append((rate, code, 0)) |
| | | |
| | | else: |
| | | # 暂存涨幅为负的代码 |
| | | _delete_list.append((rate, code, 0)) |
| | |
| | | __add_log(TYPE_ACTION, code, {"type": "加白", "msg": msg}) |
| | | |
| | | |
| | | # 加白 |
| | | def add_common_msg(code, type_, msg=""): |
| | | __add_log(TYPE_ACTION, code, {"type": type_, "msg": msg}) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | pass |