From 48fb7a00951f91bdc707e5dd2d196e5bccb752c3 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 18 六月 2025 18:41:30 +0800 Subject: [PATCH] 异常保护 --- inited_data.py | 156 ++++++---------------------------------------------- 1 files changed, 18 insertions(+), 138 deletions(-) diff --git a/inited_data.py b/inited_data.py index bdc96cb..33d8497 100644 --- a/inited_data.py +++ b/inited_data.py @@ -4,60 +4,22 @@ from __future__ import print_function, absolute_import -import schedule - -# import gm.api as gmapi from cancel_strategy.s_l_h_cancel_strategy import LCancelBigNumComputer from code_attribute import big_money_num_manager, global_data_loader, gpcode_manager, gpcode_first_screen_manager from code_attribute.code_nature_analyse import LatestMaxVolumeManager, HighIncreaseCodeManager, CodeNatureRecordManager -from db.redis_manager_delegate import RedisUtils from l2.l2_sell_manager import L2MarketSellManager from l2.l2_transaction_data_manager import HuaXinBuyOrderManager -from ths import client_manager -import constant +from third_data.third_blocks_manager import InvalidBlockManager, CodeThirdBlocksManager +from trade.buy_money_count_setting import BuyMoneyAndCountSetting from trade.deal_big_money_manager import DealOrderNoManager -from trade.trade_manager import AutoCancelSellModeManager -from utils import global_util, tool -import threading +from trade.trade_manager import AutoCancelSellModeManager +from utils import tool -from servers import server - -from db import redis_manager_delegate as redis_manager -from user import authority -import decimal - -from third_data.history_k_data_util import HistoryKDatasUtils -from trade import l2_trade_util, trade_manager +from trade import l2_trade_util from l2.cancel_buy_strategy import L2LimitUpSellStatisticUtil -from log_module.log import logger_juejin_tick, logger_system -from trade.trade_data_manager import CodeActualPriceProcessor, PlaceOrderCountManager, AccountMoneyManager -from trade.trade_queue_manager import JueJinBuy1VolumnManager - -redisManager = redis_manager.RedisManager(0) -__jueJinBuy1VolumnManager = JueJinBuy1VolumnManager() -__actualPriceProcessor = CodeActualPriceProcessor() - - -# 璁剧疆璐︽埛淇℃伅 -def setAccountInfo(accountId, strategyId, token): - redis = redisManager.getRedis() - try: - RedisUtils.set(redis, "juejin-account-id", accountId, auto_free=False) - RedisUtils.set(redis, "juejin-strategy-id", strategyId, auto_free=False) - RedisUtils.set(redis, "juejin-token", token, auto_free=False) - finally: - RedisUtils.realse(redis) - - -def getAccountInfo(): - redis = redisManager.getRedis() - try: - account_id = RedisUtils.get(redis, "juejin-account-id", auto_free=False) - strategy_id = RedisUtils.get(redis, "juejin-strategy-id", auto_free=False) - token = RedisUtils.get(redis, "juejin-token", auto_free=False) - return account_id, strategy_id, token - finally: - RedisUtils.realse(redis) +from log_module.log import logger_system +from trade.trade_data_manager import PlaceOrderCountManager, AccountMoneyManager +from utils.ths_industry_util import ThsCodeIndustryManager def init_data(): @@ -76,6 +38,16 @@ # 鍒濆鍖栬浇鍏� AutoCancelSellModeManager() + ThsCodeIndustryManager() + + InvalidBlockManager() + + CodeThirdBlocksManager() + + BuyMoneyAndCountSetting() + + gpcode_manager.WantBuyCodesManager() + # 9鐐�25涔嬪墠鍒犻櫎鎵�鏈変唬鐮� if tool.trade_time_sub(tool.get_now_time_str(), "09:25:00") <= 0: # 鍒犻櫎L2鐩戝惉浠g爜 @@ -90,8 +62,6 @@ gpcode_manager.WhiteListCodeManager().clear() # 娓呯┖鎯宠涔� gpcode_manager.WantBuyCodesManager().clear() - # 娓呯┖鍒嗘暟绂佹浠g爜 - trade_manager.ForbiddenBuyCodeByScoreManager().clear() # 娓呯┖鏆傚仠浜ゆ槗浠g爜 gpcode_manager.PauseBuyCodesManager().clear() # 娓呴櫎L鎾ゆ暟鎹� @@ -116,97 +86,7 @@ # if not tool.is_init_time() or True: # raise Exception("浜ゆ槗鏃堕棿涓嶈兘鍒濆鍖�") init_data() - codes = gpcode_manager.get_gp_list() logger_system.info("姣忔棩鍒濆鍖�") - - # 浠婃棩瀹炴椂娑ㄥ仠 - global_data_loader.add_limit_up_codes([], True) - # 涓昏鑾峰彇鏀剁洏浠� - __get_latest_info(None) - # 鑾峰彇60澶╂渶澶ч噺涓庢槰鏃ラ噺 - global_util.today_volumn.clear() - global_util.max60_volumn.clear() - global_util.yesterday_volumn.clear() - # 娓呴櫎澶у崟鏁版嵁 - global_util.big_money_num.clear() - # 鍒濆鍖栧ぇ鍗曟暟鎹� - for code in codes: - big_money_num_manager.add_num(code, 0) - big_money_num_manager.expire(code) - # 娓呴櫎娑ㄥ仠鏃堕棿 - global_util.limit_up_time.clear() - - # 鍒濆鍖栧悓鑺遍『涓荤珯 - if constant.L2_SOURCE_TYPE == constant.L2_SOURCE_TYPE_THS: - l2_clients = client_manager.getValidL2Clients() - for client in l2_clients: - try: - server.repair_ths_main_site(client) - except Exception as e: - pass - - -def __run_schedule(): - while True: - schedule.run_pending() - - -def init(context): - # gmapi.subscribe(symbols="SZSE.002529", frequency="1d", count=30) - # 璁㈤槄娴﹀彂閾惰, bar棰戠巼涓轰竴澶╁拰涓�鍒嗛挓 - # 璁㈤槄璁㈤槄澶氫釜棰戠巼鐨勬暟鎹紝鍙娆¤皟鐢╯ubscribe - # 鑾峰彇闇�瑕佺洃鍚殑鑲$エ - init_data() - logger_system.info("鎺橀噾鍒濆鍖�") - schedule.every().day.at("09:15:00").do(everyday_init) - t1 = threading.Thread(target=lambda: __run_schedule()) - # 鍚庡彴杩愯 - t1.setDaemon(True) - t1.start() - - # 澶氫釜鏃堕棿鐐硅幏鍙栨敹鐩樹环 - gmapi.schedule(schedule_func=__get_latest_info, date_rule='1d', time_rule='09:28:00') - - # 鍒濆鍖栧唴瀹� - clients = authority.get_l2_clients() - for client in clients: - for i in range(0, constant.L2_CODE_COUNT_PER_DEVICE): - gpcode_manager.init_listen_code_by_pos(client, i) - - -def __get_latest_info(context): - # 鍒濆鍖栧唴瀹� - clients = authority.get_l2_clients() - for c in clients: - for i in range(0, constant.L2_CODE_COUNT_PER_DEVICE): - gpcode_manager.init_listen_code_by_pos(int(c), i) - codes = gpcode_manager.get_gp_list() - result = HistoryKDatasUtils.get_gp_latest_info(codes) - for item in result: - sec_level = item['sec_level'] - symbol = item['symbol'] - symbol = symbol.split(".")[1] - pre_close = tool.to_price(decimal.Decimal(str(item['pre_close']))) - if sec_level == 1: - if symbol in codes: - gpcode_manager.CodePrePriceManager.set_price_pre(symbol, pre_close) - else: - gpcode_manager.rm_gp(symbol) - - -# 鑾峰彇鏈�鏂扮殑淇℃伅 -def __get_current_info(): - data = gpcode_manager.get_gp_list() - results = HistoryKDatasUtils.get_gp_current_info(data) - logger_juejin_tick.debug("瀹氭椂鑾峰彇锛歿}", results) - for result in results: - price = result["price"] - symbol = result['symbol'] - # 淇濆瓨鏈�鏂颁环 - symbol = symbol.split(".")[1] - - -__prices_now = {} # 淇濆瓨杩愯鏃舵暟鎹� -- Gitblit v1.8.0