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