| | |
| | | S_CANCEL_SECOND_RATE = 0.59 |
| | | S_CANCEL_THIRD_RATE = 0.49 |
| | | # s撤守护时间 |
| | | S_CANCEL_EXPIRE_TIME = 60 |
| | | S_CANCEL_EXPIRE_TIME = 1 |
| | | |
| | | # H撤比例 |
| | | H_CANCEL_FIRST_RATE = 0.69 |
| | |
| | | D_CANCEL_RATE = 0.5 |
| | | |
| | | # L撤 |
| | | # L撤下单之后多久开始守护 |
| | | L_CANCEL_START_TIME = 1 |
| | | |
| | | L_CANCEL_MAX_WATCH_COUNT = 10 |
| | | # 撤单比例 |
| | | L_CANCEL_RATE = 0.6 |
| | |
| | | time_space = tool.trade_time_sub(total_data[start_index]["val"]["time"], |
| | | total_data[buy_exec_index]["val"]["time"]) |
| | | # 守护S撤以外的数据 |
| | | if time_space <= constant.S_CANCEL_EXPIRE_TIME or int(tool.get_now_time_str().replace(":", "")) > int("145000"): |
| | | if time_space <= constant.L_CANCEL_START_TIME or int(tool.get_now_time_str().replace(":", "")) > int("145000"): |
| | | return False, None |
| | | watch_indexes = self.__get_watch_indexes_cache(code) |
| | | if not watch_indexes: |
| | |
| | | |
| | | from log_module.log import logger_kpl_limit_up, logger_kpl_block_can_buy, logger_kpl_debug |
| | | from third_data.kpl_util import KPLPlatManager |
| | | from trade import trade_manager |
| | | from trade import trade_manager,l2_trade_util |
| | | |
| | | |
| | | # 代码精选板块管理 |
| | |
| | | code_limit_up_reason_dict[d[3]] = d[2] |
| | | return code_limit_up_reason_dict |
| | | |
| | | now_time = int(tool.get_now_time_str().replace(":", "")) |
| | | times = [100000, 103000, 110000, 133000, 150000] |
| | | time_index = 0 |
| | | for i in range(len(times)): |
| | | if now_time < times[i]: |
| | | time_index = i |
| | | break |
| | | # 获取目标代码板块 |
| | | keys, k1, k11, k2, k3, k4 = cls.__TargetCodePlateKeyManager.get_plate_keys(code) |
| | | log.logger_kpl_debug.info("{}关键词:今日-{},今日历史-{},历史-{},二级行业-{},代码板块-{}", code, k1, k11, k2, k3, k4) |
| | |
| | | f"{block}:top10涨停板块,主板开1({pen_limit_up_codes}),属于主板前龙{len(pen_limit_up_codes) + 1}(实时身位-{current_shsz_rank})")) |
| | | continue |
| | | else: |
| | | if record_shsz_rank >= len(pen_limit_up_codes) + 1: |
| | | logger_kpl_block_can_buy.info(f"{code}根据身位禁止买入:【{block}】历史身位{record_shsz_rank}") |
| | | # 今日已经不可能买的票,直接加入黑名单 |
| | | l2_trade_util.forbidden_trade(code) |
| | | msg_list.append( |
| | | f"板块-{block}: top4涨停板块,主板开1({pen_limit_up_codes}),不为主板前龙{len(pen_limit_up_codes) + 1}(实时身位-{current_shsz_rank},历史身位-{record_shsz_rank})") |
| | | continue |
| | |
| | | is_normal = l2_data_util.load_l2_data(code, load_latest=False) |
| | | volume_rate = code_volumn_manager.get_volume_rate(code) |
| | | volume_rate_index = code_volumn_manager.get_volume_rate_index(volume_rate) |
| | | m_val = \ |
| | | L2PlaceOrderParamsManager(code, True, volume_rate, volume_rate_index, None).get_m_val()[ |
| | | 0] |
| | | m_val = L2PlaceOrderParamsManager(code, True, volume_rate, volume_rate_index, None).get_m_val()[0] |
| | | limit_up_price = gpcode_manager.get_limit_up_price(code) |
| | | m_val_num = int(m_val / (float(limit_up_price) * 100)) |
| | | |
| | |
| | | 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 rates[volume_rate_index] |
| | | return 0.59 #rates[volume_rate_index] |
| | | |
| | | |
| | | # H撤参数 |