This commit is contained in:
薇薇安 2026-01-14 19:45:13 +08:00
parent 75653be44c
commit b86abf4309

View File

@ -69,13 +69,22 @@ class RiskManager:
logger.info(f" 单笔最大限制: {max_position_value:.2f} USDT ({max_position_pct:.1f}%)") logger.info(f" 单笔最大限制: {max_position_value:.2f} USDT ({max_position_pct:.1f}%)")
logger.info(f" 单笔最小限制: {min_position_value:.2f} USDT ({min_position_pct:.1f}%)") logger.info(f" 单笔最小限制: {min_position_value:.2f} USDT ({min_position_pct:.1f}%)")
if position_value > max_position_value: # 使用小的容差来处理浮点数精度问题0.01 USDT
tolerance = 0.01
if position_value > max_position_value + tolerance:
logger.warning( logger.warning(
f"{symbol} 单笔仓位过大: {position_value:.2f} USDT > " f"{symbol} 单笔仓位过大: {position_value:.2f} USDT > "
f"最大限制: {max_position_value:.2f} USDT " f"最大限制: {max_position_value:.2f} USDT "
f"(超出: {position_value - max_position_value:.2f} USDT)" f"(超出: {position_value - max_position_value:.2f} USDT)"
) )
return False return False
elif position_value > max_position_value:
# 在容差范围内,允许通过(浮点数精度问题)
logger.info(
f"{symbol} 仓位价值略超限制但 within 容差: "
f"{position_value:.2f} USDT vs {max_position_value:.2f} USDT "
f"(差异: {position_value - max_position_value:.4f} USDT)"
)
if position_value < min_position_value: if position_value < min_position_value:
logger.warning( logger.warning(