diff --git a/backend/app/crypto_agent/crypto_agent.py b/backend/app/crypto_agent/crypto_agent.py index 1fd68bb..88295e4 100644 --- a/backend/app/crypto_agent/crypto_agent.py +++ b/backend/app/crypto_agent/crypto_agent.py @@ -305,10 +305,16 @@ class CryptoAgent: signal_type = signal.get('type', 'medium_term') type_map = {'short_term': 'short_term', 'medium_term': 'swing', 'long_term': 'swing'} + # 获取入场类型和入场价 + entry_type = signal.get('entry_type', 'market') + entry_price = signal.get('entry_price', current_price) + return { 'symbol': symbol, 'action': signal.get('action', 'hold'), - 'price': current_price, + 'entry_type': entry_type, # market 或 limit + 'entry_price': entry_price, # 入场价(挂单价格) + 'price': current_price, # 当前价格 'stop_loss': signal.get('stop_loss', 0), 'take_profit': signal.get('take_profit', 0), 'confidence': signal.get('confidence', 0), diff --git a/backend/app/services/news_service.py b/backend/app/services/news_service.py index 99769b1..bd72c42 100644 --- a/backend/app/services/news_service.py +++ b/backend/app/services/news_service.py @@ -106,8 +106,16 @@ class NewsService: logger.info(f"获取到 {len(news_list)} 条律动快讯") return news_list + except ET.ParseError as e: + logger.error(f"解析律动快讯 XML 失败: {e}") + # 记录部分内容用于调试 + if 'content' in locals(): + logger.debug(f"RSS 内容前 500 字符: {content[:500]}") + return [] except Exception as e: - logger.error(f"解析律动快讯失败: {e}") + logger.error(f"获取律动快讯失败: {e}") + import traceback + logger.debug(traceback.format_exc()) return [] def _clean_cdata(self, text: str) -> str: