From f08cb61eb22a7c006c84fe57a2e857e2b23b061c Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 27 六月 2024 14:35:48 +0800 Subject: [PATCH] 相同价格判断机制bug修复 --- code_attribute/code_nature_analyse.py | 4 ++-- utils/init_data_util.py | 2 +- code_attribute/first_target_code_data_processor.py | 2 +- l2/huaxin/huaxin_delegate_postion_manager.py | 13 ++++++------- l2/transaction_progress.py | 2 +- trade/huaxin/huaxin_trade_api.py | 2 +- trade/trade_gui.py | 2 +- l2/code_price_manager.py | 2 +- l2/l2_data_manager_new.py | 2 +- trade/huaxin/huaxin_trade_data_update.py | 2 +- 10 files changed, 16 insertions(+), 17 deletions(-) diff --git a/code_attribute/code_nature_analyse.py b/code_attribute/code_nature_analyse.py index d85b42b..133e84a 100644 --- a/code_attribute/code_nature_analyse.py +++ b/code_attribute/code_nature_analyse.py @@ -253,7 +253,7 @@ datas = datas[-10:] for data in datas: limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(code, data["pre_close"])) - if abs(limit_up_price - data["high"]) < 0.01: + if abs(limit_up_price - data["high"]) < 0.001: date = data['bob'].strftime("%Y-%m-%d") return round((datas[-1]["close"] - data["close"]) / data["close"], 4), date return 0, '' @@ -272,7 +272,7 @@ date = data['bob'].strftime("%Y-%m-%d") if data["high"] > max_price: max_price = data["high"] - if abs(limit_up_price - data["high"]) < 0.01: + if abs(limit_up_price - data["high"]) < 0.001: limit_ups.append((date, True)) limit_up_count += 1 else: diff --git a/code_attribute/first_target_code_data_processor.py b/code_attribute/first_target_code_data_processor.py index 0cf33c4..d3d265f 100644 --- a/code_attribute/first_target_code_data_processor.py +++ b/code_attribute/first_target_code_data_processor.py @@ -275,7 +275,7 @@ limit_up_time = None if code not in limit_up_price_dict: continue - is_limit_up = abs(float(limit_up_price_dict[code]) - float(price)) < 0.01 + is_limit_up = abs(float(limit_up_price_dict[code]) - float(price)) < 0.001 # 绾犳鏁版嵁 if is_limit_up and limit_up_time is None: limit_up_time = tool.get_now_time_str() diff --git a/l2/code_price_manager.py b/l2/code_price_manager.py index ad16997..bfb962d 100644 --- a/l2/code_price_manager.py +++ b/l2/code_price_manager.py @@ -171,7 +171,7 @@ # 淇濆瓨涔�1浠锋牸 self.__save_buy1_price(code, buy_1_price) - is_limit_up = abs(float(limit_up_price) - float(buy_1_price)) < 0.01 + is_limit_up = abs(float(limit_up_price) - float(buy_1_price)) < 0.001 old_limit_up_time, old_open_limit_up_time = self.__get_buy1_price_limit_up_info_cache(code) # 鍒ゆ柇鐪熸娑ㄥ仠 if is_limit_up and not old_limit_up_time and int(sell_1_volumn) <= 0: diff --git a/l2/huaxin/huaxin_delegate_postion_manager.py b/l2/huaxin/huaxin_delegate_postion_manager.py index ce8977b..cc971fd 100644 --- a/l2/huaxin/huaxin_delegate_postion_manager.py +++ b/l2/huaxin/huaxin_delegate_postion_manager.py @@ -55,7 +55,7 @@ # 鍒ゆ柇褰卞瓙璁㈠崟浣嶇疆 if val["num"] != huaxin_client_constant.SHADOW_ORDER_VOLUME // 100: continue - if abs(shadow_price - float(val["price"])) >= 0.01: + if abs(shadow_price - float(val["price"])) >= 0.001: continue if not L2DataUtil.is_buy_cancel(val): continue @@ -106,7 +106,7 @@ # 鍒ゆ柇褰卞瓙璁㈠崟浣嶇疆 if val["num"] != huaxin_client_constant.SHADOW_ORDER_VOLUME // 100: continue - if abs(shadow_price - float(val["price"])) >= 0.01: + if abs(shadow_price - float(val["price"])) >= 0.001: continue if d["index"] <= exec_data["index"]: continue @@ -138,7 +138,7 @@ d = total_datas[i] if d["val"]["num"] != volume // 100: continue - if abs(float(price) - float(d["val"]["price"])) >= 0.01: + if abs(float(price) - float(d["val"]["price"])) >= 0.001: continue # 蹇呴』鏄拱鍏� if not L2DataUtil.is_limit_up_price_buy(d["val"]): @@ -150,7 +150,7 @@ d = total_datas[i] if d["val"]["num"] != volume // 100: continue - if abs(float(price) - float(d["val"]["price"])) >= 0.01: + if abs(float(price) - float(d["val"]["price"])) >= 0.001: continue # 蹇呴』鏄拱鍏� if not L2DataUtil.is_limit_up_price_buy(d["val"]): @@ -161,7 +161,6 @@ if not real_place_index: real_place_index_info = shadow_place_order_index, RELIABILITY_TYPE_VIRTUAL else: - # TODO 闇�瑕佺煫姝f槸鍚︽挙鍗� real_place_index_info = real_place_index, RELIABILITY_TYPE_REAL elif tool.trade_time_sub(datas[-1]['val']['time'], exec_data['val']['time']) >= estimate_time_space and time.time() - order_time >5: # 涓嬪崟瓒呰繃2s涓旂粷瀵规椂闂磋秴杩�5S浠ヤ笂鎵嶄細浼扮畻鐪熷疄涓嬪崟浣嶇疆 @@ -171,7 +170,7 @@ if real_place_index_info: # 鑾峰彇鍒颁簡涓嬪崟浣嶇疆 async_log_util.info(hx_logger_trade_debug, f"鐪熷疄涓嬪崟浣嶇疆锛歿code}-{real_place_index_info}") - async_log_util.info(logger_real_place_order_position, f"鐪熷疄涓嬪崟浣嶇疆锛歿code}-{real_place_index_info}") + async_log_util.info(logger_real_place_order_position, f"鐪熷疄涓嬪崟浣嶇疆锛歿code}-{real_place_index_info}-{shadow_place_order_index}") if code in _place_order_info_dict: _place_order_info_dict.pop(code) __place_order_position[code] = real_place_index_info[0] @@ -246,7 +245,7 @@ continue if val["num"] != huaxin_client_constant.SHADOW_ORDER_VOLUME // 100: continue - if abs(shadow_price - float(val["price"])) >= 0.01: + if abs(shadow_price - float(val["price"])) >= 0.001: continue shadow_order_indexes.append(i) async_log_util.info(logger_debug, f"涓嬪崟浣嶇煫姝�# {code}鑾峰彇鍒板奖瀛愬崟绱㈠紩锛歿shadow_order_indexes}") diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index e6bf881..07a9e21 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -848,7 +848,7 @@ # limit_up_price = gpcode_manager.get_limit_up_price(code) # if limit_up_price is None: # return False, "灏氭湭鑾峰彇鍒版定鍋滀环" - # if abs(float(buy1_price) - float(limit_up_price)) >= 0.01: + # if abs(float(buy1_price) - float(limit_up_price)) >= 0.001: # return False, "涔�1浠蜂笉涓烘定鍋滀环锛屼拱1浠�-{} 娑ㄥ仠浠�-{}".format(buy1_price, limit_up_price) # 浠庝拱鍏ヤ俊鍙疯捣濮嬬偣鍒板綋鍓嶆暟鎹湯灏剧殑绾拱鎵嬫暟涓庡綋鍓嶇殑鍗�1鍋氭瘮杈冿紝濡傛灉姣斿崠1灏忓垯涓嶈兘涔板叆 total_datas = local_today_datas[code] diff --git a/l2/transaction_progress.py b/l2/transaction_progress.py index 64c8221..80f97d1 100644 --- a/l2/transaction_progress.py +++ b/l2/transaction_progress.py @@ -111,7 +111,7 @@ return None self.last_buy_queue_data[code] = queues - if abs(float(buy_1_price) - float(limit_up_price)) >= 0.01: + if abs(float(buy_1_price) - float(limit_up_price)) >= 0.001: # 淇濆瓨鏈�杩戠殑娑ㄥ仠璧峰鏃堕棿 self.__save_latest_not_limit_up_time(code, buy_1_time) return None diff --git a/trade/huaxin/huaxin_trade_api.py b/trade/huaxin/huaxin_trade_api.py index 30b740d..fe66219 100644 --- a/trade/huaxin/huaxin_trade_api.py +++ b/trade/huaxin/huaxin_trade_api.py @@ -66,7 +66,7 @@ # 鑾峰彇娑ㄥ仠浠� limit_up_price = gpcode_manager.get_limit_up_price(code) if limit_up_price and volume == huaxin_client_constant.SHADOW_ORDER_VOLUME: - if abs(float(limitPrice) - float(limit_up_price)) >= 0.01: + if abs(float(limitPrice) - float(limit_up_price)) >= 0.001: is_shadow_order = True order = HuaxinOrderEntity(code, orderStatus, orderRef, accountID, orderSysID, diff --git a/trade/huaxin/huaxin_trade_data_update.py b/trade/huaxin/huaxin_trade_data_update.py index ae041a5..9b37072 100644 --- a/trade/huaxin/huaxin_trade_data_update.py +++ b/trade/huaxin/huaxin_trade_data_update.py @@ -60,7 +60,7 @@ limit_up_price = gpcode_manager.get_limit_up_price_cache(code) if limit_up_price and volume == huaxin_client_constant.SHADOW_ORDER_VOLUME: - if abs(float(limitPrice) - float(limit_up_price)) >= 0.01: + if abs(float(limitPrice) - float(limit_up_price)) >= 0.001: is_shadow_order = True if is_shadow_order: continue diff --git a/trade/trade_gui.py b/trade/trade_gui.py index c04d664..6720d34 100644 --- a/trade/trade_gui.py +++ b/trade/trade_gui.py @@ -271,7 +271,7 @@ # TODO 鏆傛椂涓嶉獙璇佹定鍋滀环 # if not constant.TEST: - # if abs(float(limit_up_price_now) - float(limit_up_price)) >= 0.01: + # if abs(float(limit_up_price_now) - float(limit_up_price)) >= 0.001: # error = "娑ㄥ仠浠烽獙璇佸嚭閿� {}-{}".format(limit_up_price, limit_up_price_now) # raise Exception(error) diff --git a/utils/init_data_util.py b/utils/init_data_util.py index d1d61c6..6bc0635 100644 --- a/utils/init_data_util.py +++ b/utils/init_data_util.py @@ -107,7 +107,7 @@ # 鏄惁鏈夋定鍋� limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(code, item["pre_close"])) # 涓嶇湅瓒呰繃60澶╃殑娑ㄥ仠 - if abs(limit_up_price - item["high"]) < 0.01 and i <= 59: + if abs(limit_up_price - item["high"]) < 0.001 and i <= 59: # 娑ㄥ仠 next_volume = 0 if i > 0: -- Gitblit v1.8.0