From b5434ba1edc4a1733a37ba27d8107478077ea350 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 19 七月 2024 01:35:24 +0800 Subject: [PATCH] G撤调整/S重砸调整 --- l2/l2_data_manager_new.py | 29 +++++++++++++++++++++-------- 1 files changed, 21 insertions(+), 8 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 6f25862..979f4e5 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -26,7 +26,7 @@ transaction_progress, cancel_buy_strategy, place_order_single_data_manager from l2.cancel_buy_strategy import DCancelBigNumComputer, \ LatestCancelIndexManager, \ - NewGCancelBigNumComputer, JCancelBigNumComputer + NewGCancelBigNumComputer, JCancelBigNumComputer, L2DataComputeUtil from l2.l2_data_manager import L2DataException, OrderBeginPosInfo from l2.l2_data_util import local_today_datas, L2DataUtil, local_today_num_operate_map, local_today_buyno_map, \ local_latest_datas, local_today_canceled_buyno_map, local_today_sellno_map @@ -843,16 +843,16 @@ # # 14:00:00鍚庡彧鎵撹�佸ぇ鐨勫洖灏� # return False, True, f"14:00:00涓嶆墦鍥炲皝" - limit_up_price = gpcode_manager.get_limit_up_price(code) + limit_up_price = gpcode_manager.get_limit_up_price_as_num(code) - if constant.MIN_CODE_PRICE < float(limit_up_price) < constant.MAX_CODE_PRICE: + if constant.MIN_CODE_PRICE < limit_up_price < constant.MAX_CODE_PRICE: # 婊¤冻鏉′欢鐨勫崟浠� pass - elif float(limit_up_price) > constant.MAX_CODE_PRICE: + elif limit_up_price > constant.MAX_CODE_PRICE: # HighIncreaseCodeManager().add_code(code) # 灏忓競鍊奸珮鑲′环鍙拱 zyltgb = global_util.zyltgb_map.get(code) - if zyltgb > 25e8 or float(limit_up_price) > constant.MAX_SUBSCRIPT_CODE_PRICE: + if zyltgb > 25e8 or limit_up_price > constant.MAX_SUBSCRIPT_CODE_PRICE: return False, True, f"鑲′环澶т簬{constant.MAX_CODE_PRICE}鍧�/灏忎簬{constant.MIN_CODE_PRICE}鍧�" else: return False, True, f"鑲′环灏忎簬{constant.MIN_CODE_PRICE}鍧�" @@ -943,6 +943,20 @@ min_money=min_money) if left_count < 1: return False, False, f"娌℃湁宸叉寕鎴栬�呮垚浜ょ殑澶у崟" + place_order_count = trade_data_manager.PlaceOrderCountManager().get_place_order_count(code) + # 绗竴鍜岀浜屾涓嬪崟閮藉繀椤昏鏈夎嚦灏戜竴绗旀湭鎴愪氦/寰呮垚浜ょ殑澶у崟 + # 璁$畻澶у崟 + if place_order_count < 2: + trade_index, is_default = transaction_progress.TradeBuyQueue().get_traded_index(code) + if trade_index is None: + trade_index = 0 + total_datas = local_today_datas.get(code) + min_money = l2_data_util.get_big_money_val(limit_up_price, tool.is_ge_code(code)) + left_count, left_num = L2DataComputeUtil.compute_left_buy_order(code, trade_index, + total_datas[-1]["index"], + limit_up_price, min_money) + if left_count < 1: + return False, False, f"绗瑊place_order_count+1}涓嬪崟鏃犲緟鎴愪氦鐨勫ぇ鍗�" # 鏆傛椂娉ㄩ噴鎯充拱鍗曞姛鑳� if not cls.__WantBuyCodesManager.is_in_cache(code): @@ -1157,7 +1171,6 @@ @classmethod def can_buy_first_new(cls, code, limit_up_price): - now_timestamp = int(tool.get_now_time_str().replace(":", "")) # 鍒ゆ柇鏉垮潡 # (鍙互涔扮殑鏉垮潡鍒楄〃, 鏄惁鏄嫭鑻�, 娑堟伅绠�浠�,鍙拱鐨勫己鍔夸富绾�, 鏉垮潡鍏抽敭璇�) @@ -1196,7 +1209,7 @@ # 鍚庢帓锛屾弧瓒宠嚜鐢辨祦閫氬競鍊奸渶瑕佷笅鍗� return True, False, can_buy_result[2] else: - place_order_count = trade_data_manager.PlaceOrderCountManager().get_place_order_count(code) + if place_order_count > 0: return True, False, "涔嬪墠涓嬭繃鍗�" if not can_buy_result[0]: @@ -1859,7 +1872,7 @@ return None, buy_nums, buy_count, ii, max_buy_num_set, f"銆恵i}銆戜俊鍙蜂笉杩炵画锛屽泭鎷椂闂�-{max_space_time_ms}ms" # 娑ㄥ仠涔� if L2DataUtil.is_limit_up_price_buy(_val): - if l2_data_util.is_big_money(_val,is_ge_code): + if l2_data_util.is_big_money(_val, is_ge_code): max_buy_num_set.add(i) if _val["num"] >= bigger_num: trigger_buy = True -- Gitblit v1.8.0