From 892b50e242e3c59a738b92dfdfee1bf1ff8932f2 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 21 十月 2022 16:59:58 +0800 Subject: [PATCH] 新策略修改 --- trade_manager.py | 50 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 38 insertions(+), 12 deletions(-) diff --git a/trade_manager.py b/trade_manager.py index e82fae4..615145d 100644 --- a/trade_manager.py +++ b/trade_manager.py @@ -9,7 +9,7 @@ import gpcode_manager import l2_code_operate -import mongo_data +import mysql_data import tool from trade_data_manager import TradeBuyDataManager from trade_gui import THSGuiTrade, async_call @@ -85,6 +85,7 @@ redis = __redis_manager.getRedis() time_str = datetime.datetime.now().strftime("%H:%M:%S") redis.setex("trade-success-latest-time", tool.get_expire(), time_str) + mysqldb = mysql_data.Mysqldb() for data in datas: _time = data["time"] # 杩囨护閿欒鏁版嵁 @@ -93,22 +94,35 @@ data["_id"] = data["trade_num"] data["day"] = day data["create_time"] = int(round(t.time() * 1000)) - count = mongo_data.count("ths-trade-success-record", {"_id": data["_id"]}) - if count is None or count < 1: - mongo_data.save_one("ths-trade-success-record", data) + counts = mysqldb.select_one("select count(*) from ths_trade_success_record where _id='{}'".format(data["_id"])) + if counts[0] < 1: + mysqldb.execute( + "insert into ths_trade_success_record(_id,code,money,num,price,time,trade_num,type,day,create_time) values('{}','{}','{}','{}','{}','{}','{}',{},'{}',{})".format( + data["_id"], data["code"], data["money"], data["num"], data["price"], data["time"], + data["trade_num"], data["type"], data["day"], round(t.time() * 1000))) + else: + mysqldb.execute( + "update ths_trade_success_record set money=%s, num=%s, price=%s,time=%s,trade_num=%s,type=%s where _id=%s",( + data["money"], data["num"], data["price"], data["time"], data["trade_num"], data["type"],data["_id"])) # 淇濆瓨浜ゆ槗濮旀墭鏁版嵁 def save_trade_delegate_data(datas): day = datetime.datetime.now().strftime("%Y%m%d") time_str = datetime.datetime.now().strftime("%H:%M:%S") + mysqldb = mysql_data.Mysqldb() for data in datas: data["_id"] = "{}-{}-{}".format(day, data["code"], data["time"]) data["day"] = day data["create_time"] = int(round(t.time() * 1000)) - count = mongo_data.count("ths-trade-delegate-record", {"_id": data["_id"]}) - if count is None or count < 1: - mongo_data.save_one("ths-trade-delegate-record", data) + counts = mysqldb.select_one("select count(*) from ths_trade_delegate_record where _id='{}'".format(data["_id"])) + if counts[0] < 1: + mysqldb.execute( + "insert into ths_trade_delegate_record(_id,code,num,price,time,trade_num,trade_price,type,day,create_time) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%d)", + ( + data["_id"], data["code"], data["num"], data["price"], data["time"], + data["trade_num"],data["trade_price"], data["type"], data["day"], round(t.time() * 1000))) + # 淇濆瓨鏈�鏂扮殑濮旀墭鏁版嵁 redis = __redis_manager.getRedis() redis.setex("trade-delegate-latest", tool.get_expire(), json.dumps(datas)) @@ -119,7 +133,15 @@ def get_trade_success_data(): redis = __redis_manager.getRedis() day = datetime.datetime.now().strftime("%Y%m%d") - return mongo_data.find("ths-trade-success-record", {"day": day}), redis.get("trade-success-latest-time") + mysqldb = mysql_data.Mysqldb() + results = mysqldb.select_all("select * from ths_trade_success_record where day='{}'".format(day)) + datas = [] + for result in results: + data = {"_id": result[0], "code": result[1], "money": result[2], "num": result[3], "price": result[4], + "time": result[5], "trade_num": result[6], "type": result[7], "day": result[8], + "create_time": result[9]} + datas.append(data) + return datas, redis.get("trade-success-latest-time") # 鑾峰彇浜ゆ槗濮旀墭鏁版嵁 @@ -316,8 +338,12 @@ redis_info = redis_manager.RedisManager(0).getRedis() keys = redis_info.keys("*{}*".format(code)) for k in keys: - if k.find("pre") is None or k.find("pre") or k.find("zyltgb") < 0: - redis_info.delete(k) + if k.find("pre") is not None: + continue + if k.find("zyltgb") is not None: + continue + + redis_info.delete(k) def __clear_big_data(): @@ -330,6 +356,6 @@ if __name__ == "__main__": # time_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") # print(time_str) - # __clear_data("002093") - __clear_big_data() + __clear_data("002388") + # __clear_big_data() pass -- Gitblit v1.8.0