feat(market_scanner): 增强单个交易对信息日志记录,包含信号强度与价格

更新 `_log_single_symbol` 方法,改进日志记录内容,新增信号强度和价格信息,便于用户判断未触发交易的原因。同时,添加异常处理以确保信号强度的正确转换,提升系统的健壮性与可读性。
This commit is contained in:
薇薇安 2026-02-25 10:48:35 +08:00
parent 693a2306ca
commit 9a720b9a19

View File

@ -330,25 +330,23 @@ class MarketScanner:
return top_n return top_n
def _log_single_symbol(self, index: int, symbol_info: Dict): 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" 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') regime_str = symbol_info.get('marketRegime', 'unknown')
strength = symbol_info.get('signal_strength', symbol_info.get('signalScore', 0)) 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 = [ log_parts = [
f"{index}. {symbol_info['symbol']}:", f"{index}. {symbol_info['symbol']}:",
f"{symbol_info['changePercent']:.2f}%", f"{symbol_info['changePercent']:.2f}%",
rsi_str, 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)) logger.info(" | ".join(log_parts))
async def _prewarm_klines_for_scan(self, symbols: List[str], cfg: Optional[Dict] = None) -> None: async def _prewarm_klines_for_scan(self, symbols: List[str], cfg: Optional[Dict] = None) -> None: