From 9a720b9a19b81b369b0b58174e5b24db296bb62b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=87=E8=96=87=E5=AE=89?= Date: Wed, 25 Feb 2026 10:48:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(market=5Fscanner):=20=E5=A2=9E=E5=BC=BA?= =?UTF-8?q?=E5=8D=95=E4=B8=AA=E4=BA=A4=E6=98=93=E5=AF=B9=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95=EF=BC=8C=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E4=BF=A1=E5=8F=B7=E5=BC=BA=E5=BA=A6=E4=B8=8E=E4=BB=B7=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新 `_log_single_symbol` 方法,改进日志记录内容,新增信号强度和价格信息,便于用户判断未触发交易的原因。同时,添加异常处理以确保信号强度的正确转换,提升系统的健壮性与可读性。 --- trading_system/market_scanner.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/trading_system/market_scanner.py b/trading_system/market_scanner.py index bfcabf6..6ac3be3 100644 --- a/trading_system/market_scanner.py +++ b/trading_system/market_scanner.py @@ -330,25 +330,23 @@ class MarketScanner: return top_n def _log_single_symbol(self, index: int, symbol_info: Dict): - """打印单个交易对信息""" + """打印单个交易对信息(含信号强度,便于判断为何未触发交易)""" rsi_str = f"RSI:{symbol_info.get('rsi', 0):.1f}" if symbol_info.get('rsi') else "RSI:N/A" regime_str = symbol_info.get('marketRegime', 'unknown') - strength = symbol_info.get('signal_strength', symbol_info.get('signalScore', 0)) - strength_str = f"信号:{strength}" if strength > 0 else "" - + try: + strength = int(strength) if strength is not None else 0 + except (TypeError, ValueError): + strength = 0 + strength_str = f"信号:{strength}" log_parts = [ f"{index}. {symbol_info['symbol']}:", f"{symbol_info['changePercent']:.2f}%", rsi_str, - regime_str + regime_str, + strength_str, + f"价格: {symbol_info['price']:.4f}", ] - - if strength_str: - log_parts.append(strength_str) - - log_parts.append(f"价格: {symbol_info['price']:.4f}") - logger.info(" | ".join(log_parts)) async def _prewarm_klines_for_scan(self, symbols: List[str], cfg: Optional[Dict] = None) -> None: