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