From d883b2057f59658a22ceddad3192973e4fc6adae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=87=E8=96=87=E5=AE=89?= Date: Wed, 14 Jan 2026 20:50:41 +0800 Subject: [PATCH] a --- trading_system/market_scanner.py | 8 +++----- trading_system/position_manager.py | 10 ++++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/trading_system/market_scanner.py b/trading_system/market_scanner.py index fcd9d7c..13e9aa3 100644 --- a/trading_system/market_scanner.py +++ b/trading_system/market_scanner.py @@ -280,11 +280,9 @@ class MarketScanner: """ # 使用标准WebSocket try: - if self.client and self.client.client: - # 对于 AsyncClient,直接使用 client 的 futures_socket 方法 - # 单个交易对的 ticker 流路径格式:f"{symbol.lower()}@ticker" - ws_path = f"{symbol.lower()}@ticker" - async with self.client.client.futures_socket(ws_path) as stream: + if self.client and self.client.socket_manager: + # 使用 BinanceSocketManager 的 futures_symbol_ticker_socket 方法 + async with self.client.socket_manager.futures_symbol_ticker_socket(symbol.lower()) as stream: async for msg in stream: try: # WebSocket 返回的数据格式:{'e': '24hrTicker', 's': 'BTCUSDT', 'c': '50000.00', ...} diff --git a/trading_system/position_manager.py b/trading_system/position_manager.py index 72cda9c..48525a1 100644 --- a/trading_system/position_manager.py +++ b/trading_system/position_manager.py @@ -873,10 +873,12 @@ class PositionManager: break # 使用WebSocket订阅价格流 - # 对于 AsyncClient,直接使用 client 的 futures_socket 方法 - # 单个交易对的 ticker 流路径格式:f"{symbol.lower()}@ticker" - ws_path = f"{symbol.lower()}@ticker" - async with self.client.futures_socket(ws_path) as stream: + # 使用 BinanceSocketManager 的 futures_symbol_ticker_socket 方法 + # 注意:BinanceSocketManager 需要 AsyncClient 实例 + if not self.client.socket_manager: + raise ValueError("WebSocket管理器未初始化") + + async with self.client.socket_manager.futures_symbol_ticker_socket(symbol.lower()) as stream: logger.debug(f"{symbol} WebSocket连接已建立,开始接收价格更新") retry_count = 0 # 连接成功,重置重试计数