a
This commit is contained in:
parent
2c66b4dcad
commit
8874b68387
|
|
@ -665,14 +665,22 @@ class BinanceClient:
|
|||
logger.info(f" 当前价格: {current_price:.4f} USDT")
|
||||
logger.info(f" 订单名义价值: {notional_value:.2f} USDT")
|
||||
logger.info(f" 最小名义价值: {min_notional:.2f} USDT")
|
||||
logger.info(f" 平仓模式: {reduce_only}")
|
||||
|
||||
# 检查名义价值是否满足最小要求
|
||||
if notional_value < min_notional:
|
||||
# 注意:对于平仓操作(reduce_only=True),币安允许更小的名义价值,所以放宽检查
|
||||
# 但为了安全,仍然检查一个更小的阈值(0.1 USDT)
|
||||
min_notional_for_order = 0.1 if reduce_only else min_notional
|
||||
|
||||
if notional_value < min_notional_for_order:
|
||||
logger.warning(
|
||||
f"❌ {symbol} 订单名义价值不足: {notional_value:.2f} USDT < "
|
||||
f"最小要求: {min_notional:.2f} USDT"
|
||||
f"最小要求: {min_notional_for_order:.2f} USDT"
|
||||
)
|
||||
logger.warning(f" 需要增加数量或提高仓位大小")
|
||||
if reduce_only:
|
||||
logger.warning(f" 这是平仓订单,但名义价值仍然太小,无法执行")
|
||||
else:
|
||||
logger.warning(f" 需要增加数量或提高仓位大小")
|
||||
return None
|
||||
|
||||
# 检查最小保证金要求(避免手续费侵蚀收益)
|
||||
|
|
@ -694,7 +702,11 @@ class BinanceClient:
|
|||
min_margin_usdt = config.TRADING_CONFIG.get('MIN_MARGIN_USDT', 0.5) # 默认0.5 USDT
|
||||
required_margin = notional_value / current_leverage
|
||||
|
||||
if required_margin < min_margin_usdt:
|
||||
# 对于平仓操作(reduce_only=True),跳过最小保证金检查
|
||||
# 因为这是关闭现有持仓,不应该因为保证金不足而拒绝平仓
|
||||
if reduce_only:
|
||||
logger.info(f" 平仓操作:跳过最小保证金检查(名义价值: {notional_value:.2f} USDT)")
|
||||
elif required_margin < min_margin_usdt:
|
||||
# 如果保证金不足,自动调整到最小保证金要求
|
||||
required_notional_value = min_margin_usdt * current_leverage
|
||||
logger.warning(
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user