From ed9e2367eea9baa6c8bea82e0f81c209ffb2a56f Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 02 一月 2023 17:55:50 +0800
Subject: [PATCH] 撤单策略再次修改

---
 trade_manager.py |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/trade_manager.py b/trade_manager.py
index a17ab04..1f054a6 100644
--- a/trade_manager.py
+++ b/trade_manager.py
@@ -5,11 +5,12 @@
 # 浜ゆ槗绠$悊鍣�
 import time
 
+import constant
 import gpcode_manager
 import l2_trade_util
 import mysql_data
 import trade_data_manager
-from trade_gui import THSBuyWinManagerNew,THSGuiTrade
+from trade_gui import THSBuyWinManagerNew, THSGuiTrade
 import time as t
 import l2_data_manager
 
@@ -83,12 +84,24 @@
     time_str = datetime.datetime.now().strftime("%H:%M:%S")
     redis.setex("trade-success-latest-time", tool.get_expire(), time_str)
     mysqldb = mysql_data.Mysqldb()
+    # 鍚堝苟鍚屼竴鍚堝悓缂栧彿
+    dict_ = {}
     for data in datas:
+        trade_num = data["trade_num"]
+        if trade_num not in dict_:
+            dict_[trade_num] = data
+        else:
+            # 鍚堝苟鎴愪氦鏁伴噺涓庢垚浜ら噾棰�
+            dict_[trade_num]["num"] = int(dict_[trade_num]["num"]) + int(data["num"])
+            dict_[trade_num]["money"] = round(float(dict_[trade_num]["money"]) + float(data["money"]), 3)
+
+    for key in dict_:
+        data= dict_[key]
         _time = data["time"]
         # 杩囨护閿欒鏁版嵁
         if _time == "00:00:00":
             continue
-        data["_id"] = data["trade_num"]
+        data["_id"] = "{}_{}".format(day, data["trade_num"])
         data["day"] = day
         data["create_time"] = int(round(t.time() * 1000))
         counts = mysqldb.select_one("select count(*) from ths_trade_success_record where _id='{}'".format(data["_id"]))
@@ -186,6 +199,8 @@
 # 璐拱
 @tool.async_call
 def __buy(code, price, trade_state, capture_timestamp, last_data, last_data_index):
+    if constant.TEST:
+        return
     try:
         guiTrade.buy(code, price)
         __place_order_success(code, capture_timestamp, last_data, last_data_index)
@@ -203,7 +218,8 @@
     # 涓嬪崟鎴愬姛锛屽姞鍏ュ浐瀹氫唬鐮佸簱
     l2_data_manager.add_to_l2_fixed_codes(code)
     # 璁板綍涓嬪崟鐨勯偅涓�甯у浘鐗囩殑鎴浘鏃堕棿涓庝氦鏄撶敤鏃�
-    trade_data_manager.TradeBuyDataManager.set_buy_position_info(code, capture_timestamp, use_time, last_data, last_data_index)
+    trade_data_manager.TradeBuyDataManager.set_buy_position_info(code, capture_timestamp, use_time, last_data,
+                                                                 last_data_index)
 
     print("涔板叆缁撴潫")
     logger_trade.info("{}涔板叆鎴愬姛".format(code))
@@ -264,8 +280,7 @@
                 l2_data_manager.TradePointManager.delete_buy_point(code)
                 # 绉婚櫎浜ゆ槗绐楀彛鍒嗛厤
                 THSBuyWinManagerNew.cancel_distribute_win_for_code(code)
-                #TODO 瀹屽叏鎴愪氦鍚庣Щ闄2
-
+                # TODO 瀹屽叏鎴愪氦鍚庣Щ闄2
 
 
 # 澶勭悊濮旀墭鎴愬姛鏁版嵁
@@ -324,6 +339,5 @@
 if __name__ == "__main__":
     # time_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
     # print(time_str)
-    __clear_data("002388")
     # __clear_big_data()
     pass

--
Gitblit v1.8.0