| | |
| | | from l2.l2_data_manager import OrderBeginPosInfo |
| | | from l2.l2_data_util import L2DataUtil |
| | | from third_data.code_plate_key_manager import KPLCodeJXBlockManager |
| | | from third_data.kpl_data_constant import LimitUpCodesBlockRecordManager |
| | | from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager |
| | | from utils import global_util, tool |
| | | from log_module import log, log_export |
| | | from l2 import l2_data_manager, l2_data_util, transaction_progress, l2_data_manager_new, code_price_manager |
| | |
| | | code_extra_infos.append("暂不买") |
| | | params["code"] = code |
| | | params["code_name"] = f"{gpcode_manager.get_code_name(code)} {code} ({','.join(code_extra_infos)})" |
| | | |
| | | total_datas = l2_data_util.local_today_datas.get(code) |
| | | if total_datas is None: |
| | | total_datas = [] |
| | |
| | | if is_target_code: |
| | | limit_up_price = gpcode_manager.get_limit_up_price(code) |
| | | limit_up_time = limit_up_time_manager.LimitUpTimeManager().get_limit_up_time_cache(code) |
| | | volume_rate, volume_info = code_volumn_manager.get_volume_rate(code, with_info=True) |
| | | volume_rate, volume_info = code_volumn_manager.CodeVolumeManager().get_volume_rate(code, with_info=True) |
| | | |
| | | ################################买前评分################################ |
| | | |
| | |
| | | |
| | | # 获取买入意愿 |
| | | __L2PlaceOrderParamsManager = l2_trade_factor.L2PlaceOrderParamsManager(code, True, volume_rate, |
| | | code_volumn_manager.get_volume_rate_index( |
| | | code_volumn_manager.CodeVolumeManager().get_volume_rate_index( |
| | | volume_rate), |
| | | None) |
| | | # 是否可以买入的信息 |
| | |
| | | |
| | | # 获取量参考日期 |
| | | try: |
| | | volume_refer_date, volume_refer_date_distance = code_volumn_manager.get_volume_refer_date(code) |
| | | volume_refer_date, volume_refer_date_distance = code_volumn_manager.CodeVolumeManager().get_volume_refer_date( |
| | | code) |
| | | params["trade_data"]["volume_refer_date"] = volume_refer_date |
| | | except: |
| | | pass |
| | |
| | | params["trade_data"]["special_info"] = k_format[8] |
| | | |
| | | __base_L2PlaceOrderParamsManager = l2_trade_factor.L2PlaceOrderParamsManager(code, False, volume_rate, |
| | | code_volumn_manager.get_volume_rate_index( |
| | | code_volumn_manager.CodeVolumeManager().get_volume_rate_index( |
| | | volume_rate), |
| | | None) |
| | | if -1 < __L2PlaceOrderParamsManager.score_index < 3: |
| | |
| | | if code_records: |
| | | code_records = [(format_plate_output(k[0]), k[1], [format_plate_output(k1) for k1 in k[2].split("、")]) for k in |
| | | code_records] |
| | | # 修改历史 |
| | | # code_records = LimitUpCodesBlockRecordManager().get_radical_buy_blocks_origin_data(code) |
| | | # if code_records: |
| | | # code_records = [(f"{x[0]}x{x[1]}", x[2], '') for x in code_records] |
| | | # else: |
| | | # code_records = [] |
| | | |
| | | params["kpl_code_info"]["code_records"] = code_records |
| | | |
| | | if not KPLLimitUpDataRecordManager.total_datas: |
| | |
| | | mode = data.get('mode') |
| | | mode_desc = data.get('mode_desc') |
| | | if mode == OrderBeginPosInfo.MODE_ACTIVE: |
| | | records_new_data.append((time_, "激进下单", |
| | | records_new_data.append((time_, "积极下单", |
| | | mode_desc, |
| | | extra_datas)) |
| | | elif mode == OrderBeginPosInfo.MODE_FAST: |
| | | records_new_data.append((time_, "闪电下单", |
| | | mode_desc, |
| | | extra_datas)) |
| | | elif mode == OrderBeginPosInfo.MODE_RADICAL: |
| | | records_new_data.append((time_, "扫入下单", |
| | | mode_desc, |
| | | extra_datas)) |
| | | else: |
| | |
| | | elif type == trade_record_log_util.TYPE_CANCEL: |
| | | load_cancel_watch_index(latest_cancel_watch_index_dict) |
| | | records_new_data.append((time_, "撤单", f"原因:{data['msg']}", [])) |
| | | elif type == trade_record_log_util.TYPE_ACTION: |
| | | records_new_data.append((time_, data['type'], f"{data['msg']}", [])) |
| | | load_cancel_watch_index(latest_cancel_watch_index_dict) |
| | | records_new_data.sort(key=lambda x: x[0]) |
| | | if records_new_data: |
| | |
| | | records_new.reverse() |
| | | records_new_data.reverse() |
| | | return break_time, records_new, records_new_data |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | # 返回内容[(类型,buy_single_index,indexes)] |