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: