| | |
| | | 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 |
| | |
| | | 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() |
| | |
| | | # 定时持仓刷新 |
| | | 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()) |