This commit is contained in:
aaron 2025-12-09 23:41:24 +08:00
parent 151c9cb6fd
commit 672fea3d8e

View File

@ -217,12 +217,32 @@ class RealtimeTrader:
logger.error(f"Error loading {symbol} signal: {e}") logger.error(f"Error loading {symbol} signal: {e}")
# 向后兼容: 使用旧格式的 latest_signal.json # 向后兼容: 使用旧格式的 latest_signal.json
if not signals and self.signal_file.exists(): # 注意: 只分配给信号中指定的币种,或者根据价格推断币种
if self.signal_file.exists():
try: try:
with open(self.signal_file, 'r') as f: with open(self.signal_file, 'r') as f:
data = json.load(f) data = json.load(f)
first_symbol = self.symbols[0] if self.symbols else 'BTCUSDT'
signals[first_symbol] = data # 尝试从信号中获取币种
signal_symbol = data.get('symbol')
# 如果没有明确指定,尝试从价格推断
if not signal_symbol:
signal_price = (data.get('aggregated_signal', {})
.get('levels', {})
.get('current_price', 0))
if signal_price:
# BTC 价格通常 > $10,000ETH 价格通常 < $10,000
if signal_price > 10000:
signal_symbol = 'BTCUSDT'
elif signal_price > 100:
signal_symbol = 'ETHUSDT'
# 只有当推断出的币种在我们的列表中,且还没有信号时才使用
if signal_symbol and signal_symbol in self.symbols and signal_symbol not in signals:
signals[signal_symbol] = data
logger.info(f"Loaded legacy signal for {signal_symbol}")
except Exception as e: except Exception as e:
logger.error(f"Error loading legacy signal: {e}") logger.error(f"Error loading legacy signal: {e}")