From 045a5aa6434da6e83c3d850b17e7e58cd7b55ef5 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 15 五月 2023 15:46:32 +0800 Subject: [PATCH] 开盘啦板块影响交易逻辑 --- l2/l2_data_manager_new.py | 44 ++++++++++++++++++++++++-------------------- 1 files changed, 24 insertions(+), 20 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 641bc1c..caf67cd 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -15,7 +15,8 @@ from db import redis_manager import ths_industry_util import tool -from trade import trade_manager, trade_queue_manager, l2_trade_factor, l2_trade_util, \ +from third_data.code_plate_key_manager import CodePlateKeyBuyManager +from trade import trade_manager, trade_queue_manager, l2_trade_factor, l2_trade_util, \ trade_result_manager, first_code_score_manager from l2 import safe_count_manager, l2_data_manager, l2_data_log, l2_log, l2_data_source_util, code_price_manager from l2.cancel_buy_strategy import SecondCancelBigNumComputer, HourCancelBigNumComputer, L2LimitUpMoneyStatisticUtil, \ @@ -361,7 +362,8 @@ def h_cancel(): _start_time = round(t.time() * 1000) try: - b_need_cancel, b_cancel_data = HourCancelBigNumComputer.need_cancel(code,buy_single_index, buy_exec_index, start_index, + b_need_cancel, b_cancel_data = HourCancelBigNumComputer.need_cancel(code, buy_single_index, + buy_exec_index, start_index, end_index, total_data, local_today_num_operate_map.get( code), @@ -680,6 +682,7 @@ if buy1_price is None: return False, True, f"灏氭湭鑾峰彇鍒颁拱1浠�" limit_up_price = gpcode_manager.get_limit_up_price(code) + dif = float(limit_up_price) - float(buy1_price) if zyltgb >= 80 * 100000000: # 澶т簬2妗� @@ -719,6 +722,14 @@ if not gpcode_manager.WantBuyCodesManager.is_in(code): + if float(limit_up_price) >= 40: + return False, True, "鑲′环澶т簬40鍧�" + + # 鍒ゆ柇鏉垮潡 + plate_can_buy, msg = CodePlateKeyBuyManager.can_buy(code) + if not plate_can_buy: + return False, True, msg + # 鏌ョ湅鍒嗘暟绛夌骇 score_index = cls.__l2PlaceOrderParamsManagerDict[code].score_index score = cls.__l2PlaceOrderParamsManagerDict[code].score @@ -737,27 +748,20 @@ limit_up_time = score_info[1][7] if limit_up_time is None: limit_up_time = tool.get_now_time_str() - if int(limit_up_time.replace(":", "")) > int("143000"): - if not score_info[1][3][6][0]: - return False, True, f"灏剧洏鍋疯窇:鏃犱换浣曞舰鎬�" - if score_info[1][5]["limit_up_codes_count"] > 1: - return False, True, f"灏剧洏鍋疯窇:鏉垮潡{score_info[1][5]['target_block_info'][0]}-娑ㄥ仠鏁皗score_info[1][5]['limit_up_codes_count']}" - if float(gpcode_manager.get_limit_up_price(code)) > 30: - return False, True, f"灏剧洏鍋疯窇:鑲′环澶т簬30" + + # 灏剧洏鍋疯窇鏆傛椂涓嶈 + # if int(limit_up_time.replace(":", "")) > int("143000"): + # if not score_info[1][3][6][0]: + # return False, True, f"灏剧洏鍋疯窇:鏃犱换浣曞舰鎬�" + # if score_info[1][5]["limit_up_codes_count"] > 1: + # return False, True, f"灏剧洏鍋疯窇:鏉垮潡{score_info[1][5]['target_block_info'][0]}-娑ㄥ仠鏁皗score_info[1][5]['limit_up_codes_count']}" + # if float(gpcode_manager.get_limit_up_price(code)) > 30: + # return False, True, f"灏剧洏鍋疯窇:鑲′环澶т簬30" if score_index < 0: return False, True, f"鍒嗗�硷細{score}鏈揪鍒伴渶瑕佷拱鍏ョ殑鍒嗘暟绾�" - if score_index >= 3: - return False, True, f"鍒嗗�硷細{score}鏈揪鍒颁富鍔ㄤ拱鍏ュ垎鏁扮嚎" - return True, False, "" - # if -1 < score_index < 3 and (0.499 <= cls.volume_rate_info[code][0] <= 0.949): - # return True, False, f"鍒嗗�硷細{score}杈惧埌涓诲姩涔板叆鐨勫垎鏁扮嚎涓旈噺瓒冲锛屼拱鍏ョ瓑绾э細f{score_index},閲忔瘮锛歿cls.volume_rate_info[code][0]}" - is_limited_up = gpcode_manager.FirstCodeManager.is_limited_up(code) - gpcode_manager.FirstCodeManager.add_limited_up_record([code]) - if not code_price_manager.Buy1PriceManager.is_can_buy(code): - return False, True, f"棣栨澘浠g爜锛屾病鍦ㄦ兂瑕佷拱鍚嶅崟涓笖鏈墦寮�娑ㄥ仠鏉�,鍒嗘暟锛歿score}" - if not is_limited_up: - return False, True, f"棣栨澘浠g爜锛屾病鍦ㄦ兂瑕佷拱鍚嶅崟涓笖鏈定鍋滆繃,鍒嗘暟锛歿score}" + # if score_index >= 3: + # return False, True, f"鍒嗗�硷細{score}鏈揪鍒颁富鍔ㄤ拱鍏ュ垎鏁扮嚎" return True, False, "" else: return True, False, "鍦ㄦ兂涔板悕鍗曚腑" -- Gitblit v1.8.0