Administrator
2024-06-13 9d0e9529f07b2d7827d184763a51473378f6ffb3
每天定时更新量
1个文件已修改
31 ■■■■ 已修改文件
trade/huaxin/huaxin_trade_server.py 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/huaxin_trade_server.py
@@ -21,7 +21,7 @@
import inited_data
import outside_api_command_manager
from cancel_strategy.s_l_h_cancel_strategy import SCancelBigNumComputer
from code_attribute import gpcode_manager, code_volumn_manager, global_data_loader
from code_attribute import gpcode_manager, code_volumn_manager, global_data_loader, zyltgb_util
from code_attribute.code_data_util import ZYLTGBUtil
from code_attribute.gpcode_manager import CodePrePriceManager, CodesNameManager, WantBuyCodesManager
from db import mysql_data_delegate as mysql_data, redis_manager_delegate as redis_manager
@@ -1734,32 +1734,8 @@
                results = [output_util.money_desc(d) for d in fdatas]
                self.send_response({"code": 0, "data": results}, client_id, request_id)
            elif ctype == "refresh_zylt_volume":
                def update_zylt_volume(codes):
                    # 获取最近的价格
                    price_datas = history_k_data_util.JueJinApi.get_gp_current_info(codes, "symbol, price")
                    price_dict = {x['symbol'].split(".")[1]: x['price'] for x in price_datas}
                    for code in price_dict:
                        try:
                            zylt = kpl_api.getZYLTAmount(code)
                            ZYLTGBUtil.save_volume(code, int(zylt / price_dict[code]))
                        except:
                            pass
                # 刷新目标代码的自由流通量
                codes_sh, codes_sz = l1_subscript_codes_manager.get_codes(False)
                codes = set()
                if codes_sh:
                    for code_byte in codes_sh:
                        codes.add(code_byte.decode())
                    for code_byte in codes_sz:
                        codes.add(code_byte.decode())
                updated_codes = ZYLTGBUtil.get_today_updated_volume_codes()
                codes = codes - set(updated_codes)
                threading.Thread(target=lambda: update_zylt_volume(codes), daemon=True).start()
                self.send_response({"code": 0, "data": {}, "msg": f"更新代码数量:{len(codes)}"}, client_id, request_id)
                update_count = zyltgb_util.update_all_zylt_volumes()
                self.send_response({"code": 0, "data": {}, "msg": f"更新代码数量:{update_count}"}, client_id, request_id)
            elif ctype == "get_today_updated_zylt_volume_count":
                # 获取今日已经更新的自由流通量的代码数量
                count = ZYLTGBUtil.count_today_updated_volume_codes()
@@ -1928,6 +1904,7 @@
    # 定时持仓刷新
    schedule.every().day.at("09:00:00").do(huaxin_trade_data_update.add_position_list)
    schedule.every().day.at("09:10:00").do(huaxin_trade_data_update.add_position_list)
    schedule.every().day.at("15:10:00").do(zyltgb_util.update_all_zylt_volumes)
    threading.Thread(target=run_pending, daemon=True).start()
    l2_data_util.load_l2_data_all(True)
    L2TradeSingleDataManager.set_callback(MyL2TradeSingleCallback())