From 6b002b4a90fd73db0daca682aec7a8b1318f1bff Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期日, 19 十一月 2023 23:23:42 +0800 Subject: [PATCH] 炸板过后的票下午买入需要看板块不是独苗 --- l2/l2_data_manager_new.py | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 898ebc6..ca4f783 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -1,3 +1,4 @@ +import copy import logging import random import time as t @@ -15,7 +16,7 @@ from utils import global_util, ths_industry_util, tool import l2_data_util from db import redis_manager_delegate as redis_manager -from third_data.code_plate_key_manager import CodePlateKeyBuyManager, KPLCodeJXBlockManager +from third_data.code_plate_key_manager import CodePlateKeyBuyManager, KPLCodeJXBlockManager, LimitUpCodesPlateKeyManager from trade import trade_manager, trade_queue_manager, l2_trade_factor, l2_trade_util, \ trade_result_manager, current_price_process_manager, trade_data_manager, trade_huaxin, trade_record_log_util from l2 import l2_data_manager, l2_log, l2_data_source_util, code_price_manager, \ @@ -330,7 +331,6 @@ l2_data_log.l2_time_log(code, "寮�濮嬩繚瀛樻暟鎹�") l2.l2_data_util.save_l2_data(code, None, datas) origin_datas.clear() - @classmethod def process_add_datas(cls, code, add_datas, capture_timestamp, __start_time): @@ -888,6 +888,20 @@ float(open_limit_up_lowest_price) - price_pre_close) / price_pre_close < 0.05: return False, True, f"鐐告澘鍚庢渶浣庝环璺岃嚦5%浠ヤ笅" + # 鍥炲皝鐨勭エ锛屼笅13:15涔板叆闇�瑕佸垽鏂澘鍧楁槸鍚︿负鐙嫍 + if open_limit_up_lowest_price and int(tool.get_now_time_str().replace(":", "")) > 131500: + # 鑾峰彇褰撳墠绁ㄧ殑娑ㄥ仠鍘熷洜 + if code in LimitUpCodesPlateKeyManager.today_total_limit_up_reason_dict: + limit_up_reason = kpl_data_manager.KPLLimitUpDataRecordManager.get_current_block(code) + if limit_up_reason not in constant.KPL_INVALID_BLOCKS: + # 鍒ゆ柇鏄惁鏄嫭鑻� + codes = kpl_data_manager.KPLLimitUpDataRecordManager.get_current_codes_by_block(limit_up_reason) + if codes: + codes = copy.deepcopy(codes) + codes.discard(code) + if not codes: + return False, True, f"13:15浠ュ悗鐐告澘涔嬪悗涓嬪崟锛岋紙{limit_up_reason}锛� 涓虹嫭鑻�" + # limit_up_info = cls.__Buy1PriceManager.get_limit_up_info(code) # if limit_up_info[0] is None and False: # total_data = local_today_datas.get(code) @@ -1122,7 +1136,8 @@ # 鑲′环鏂伴珮鎴栬�呴�艰繎鍓嶉珮 order_begin_pos.threshold_money = int(sell_info[1]) else: - if float(total_datas[buy_single_index]["val"]["price"]) >= 3 and cls.volume_rate_info[code][0] > 0.3 and sell_info[1] > 2000 * 10000: + if float(total_datas[buy_single_index]["val"]["price"]) >= 3 and cls.volume_rate_info[code][ + 0] > 0.3 and sell_info[1] > 2000 * 10000: # 鏆傛椂鎵�8鎶� # order_begin_pos.threshold_money = int(sell_info[1] * 0.8) # 娣辫瘉鎬诲崠澶т簬1000涓囩殑绁紝m鍊兼墦5鎶� @@ -1214,7 +1229,7 @@ # 淇濆瓨闂數涓嬪崟鐨勪拱鍏ヤ俊鎭� if order_begin_pos.mode == OrderBeginPosInfo.MODE_FAST: cls.__latest_fast_place_order_info_dict[code] = ( - order_begin_pos.sell_info[0], order_begin_pos.sell_info[1]) + order_begin_pos.sell_info[0], order_begin_pos.sell_info[1]) # 鏁版嵁鏄惁澶勭悊瀹屾瘯 if new_buy_exec_index < compute_end_index: -- Gitblit v1.8.0