Administrator
2025-02-07 7eb1a8ed1a007d80de41d131071ee38f5872700c
servers/huaxin_trade_server.py
@@ -392,41 +392,15 @@
    @classmethod
    def l2_market_data(cls, code, data):
        def update_kpl_jx_block(code_, buy_1_price_, limit_up_price_):
            # ----------------------------------板块相关------------------------------
            try:
                if code_ in cls.__updating_jx_blocks_codes:
                    return
                cls.__updating_jx_blocks_codes.add(code_)
                cls.__KPLCodeJXBlockManager.load_jx_blocks(code_, buy_1_price_, limit_up_price_,
                                                           kpl_data_manager.KPLLimitUpDataRecordManager.get_current_reasons())
                # 更新板块信息
                latest_current_limit_up_records = kpl_data_manager.get_latest_current_limit_up_records()
                codes_delegate = set(CodesTradeStateManager().get_codes_by_trade_states_cache(
                    {trade_constant.TRADE_STATE_BUY_DELEGATED, trade_constant.TRADE_STATE_BUY_PLACE_ORDER}))
                codes_success = set(CodesTradeStateManager().get_codes_by_trade_states_cache(
                    {trade_constant.TRADE_STATE_BUY_SUCCESS}))
                CodePlateKeyBuyManager.update_can_buy_blocks(code_,
                                                             kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas,
                                                             kpl_data_manager.KPLLimitUpDataRecordManager.total_datas,
                                                             latest_current_limit_up_records,
                                                             block_info.get_before_blocks_dict(),
                                                             kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict(),
                                                             codes_delegate, codes_success)
            finally:
                cls.__updating_jx_blocks_codes.discard(code_)
        time_str = f"{data['dataTimeStamp']}"
        if time_str.startswith("9"):
            time_str = "0" + time_str
        time_str = time_str[:6]
        time_str = f"{time_str[0:2]}:{time_str[2:4]}:{time_str[4:6]}"
        time_str = l2_huaxin_util.convert_time(time_str)
        buy_1_price, buy_1_volume = data["buy"][0]
        sell_1_price, sell_1_volume = data["sell"][0]
        limit_up_price = gpcode_manager.get_limit_up_price_as_num(code)
        # 涨幅
        price = data['lastPrice']
        code_price_manager.CurrentPriceManager.set_current_price(code, price)
        code_price_manager.Buy1PriceManager().set_latest_buy1_money(code, buy_1_price, buy_1_volume)
@@ -443,11 +417,11 @@
        except Exception as e:
            logger_debug.exception(e)
        if limit_up_price is not None:
        pre_close_price = CodePrePriceManager.get_price_pre_cache(code)
        if pre_close_price is not None:
            average_rate = None
            try:
                average_price = data["totalValueTrade"] / data["totalVolumeTrade"]
                pre_close_price = CodePrePriceManager.get_price_pre_cache(code)
                average_rate = round((average_price - pre_close_price) / pre_close_price, 4)
            except:
                pass