a
This commit is contained in:
parent
27ddbcb8c1
commit
f2d71d3390
|
|
@ -153,7 +153,11 @@ class BinanceClient:
|
||||||
retries: 重试次数,默认从config读取
|
retries: 重试次数,默认从config读取
|
||||||
"""
|
"""
|
||||||
# 连接前刷新API密钥(确保使用最新值,支持热更新)
|
# 连接前刷新API密钥(确保使用最新值,支持热更新)
|
||||||
|
# 但如果 API 密钥为空(只用于获取公开行情),则跳过
|
||||||
|
if self.api_key and self.api_secret:
|
||||||
self._refresh_api_credentials()
|
self._refresh_api_credentials()
|
||||||
|
else:
|
||||||
|
logger.info("BinanceClient: 使用公开 API(无需认证),只能获取行情数据")
|
||||||
|
|
||||||
timeout = timeout or config.CONNECTION_TIMEOUT
|
timeout = timeout or config.CONNECTION_TIMEOUT
|
||||||
retries = retries or config.CONNECTION_RETRIES
|
retries = retries or config.CONNECTION_RETRIES
|
||||||
|
|
@ -166,10 +170,10 @@ class BinanceClient:
|
||||||
f"测试网: {self.testnet}, 超时: {timeout}秒)..."
|
f"测试网: {self.testnet}, 超时: {timeout}秒)..."
|
||||||
)
|
)
|
||||||
|
|
||||||
# 创建客户端(使用最新的API密钥)
|
# 创建客户端(使用最新的API密钥,如果为空则只能访问公开接口)
|
||||||
self.client = await AsyncClient.create(
|
self.client = await AsyncClient.create(
|
||||||
api_key=self.api_key,
|
api_key=self.api_key or None, # 空字符串转为 None
|
||||||
api_secret=self.api_secret,
|
api_secret=self.api_secret or None,
|
||||||
testnet=self.testnet
|
testnet=self.testnet
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,10 @@ async def main():
|
||||||
|
|
||||||
client: BinanceClient | None = None
|
client: BinanceClient | None = None
|
||||||
try:
|
try:
|
||||||
client = BinanceClient()
|
# 推荐服务不需要特定账户的 API 密钥,只需要获取行情数据
|
||||||
|
# 使用空 API 密钥(公开接口)或使用只读权限的密钥
|
||||||
|
logger.info("推荐服务初始化(不依赖特定账户,只获取行情数据)")
|
||||||
|
client = BinanceClient(api_key="", api_secret="") # 使用空密钥,只获取公开行情
|
||||||
await client.connect()
|
await client.connect()
|
||||||
|
|
||||||
scanner = MarketScanner(client)
|
scanner = MarketScanner(client)
|
||||||
|
|
|
||||||
|
|
@ -90,14 +90,10 @@ class TradeRecommender:
|
||||||
"""
|
"""
|
||||||
logger.info("开始生成交易推荐...")
|
logger.info("开始生成交易推荐...")
|
||||||
|
|
||||||
# 获取账户余额(用于计算盈亏评估)
|
# 推荐服务不需要获取特定账户余额,直接使用固定值用于计算推荐仓位
|
||||||
try:
|
# 用户可以根据自己的实际余额调整实际下单量
|
||||||
balance = await self.client.get_account_balance()
|
account_balance = 1000 # 固定使用 1000 USDT 作为参考余额
|
||||||
account_balance = balance.get('total', 1000)
|
logger.debug(f"推荐服务使用固定参考余额: {account_balance:.2f} USDT(用于计算推荐仓位比例)")
|
||||||
logger.debug(f"账户余额: {account_balance:.2f} USDT")
|
|
||||||
except Exception as e:
|
|
||||||
account_balance = 1000
|
|
||||||
logger.warning(f"获取账户余额失败,使用默认值1000 USDT: {e}")
|
|
||||||
|
|
||||||
# 1. 从Redis读取现有推荐(如果启用缓存)
|
# 1. 从Redis读取现有推荐(如果启用缓存)
|
||||||
existing_recommendations = {}
|
existing_recommendations = {}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user