a
This commit is contained in:
parent
2c66b4dcad
commit
8874b68387
|
|
@ -665,13 +665,21 @@ class BinanceClient:
|
||||||
logger.info(f" 当前价格: {current_price:.4f} USDT")
|
logger.info(f" 当前价格: {current_price:.4f} USDT")
|
||||||
logger.info(f" 订单名义价值: {notional_value:.2f} USDT")
|
logger.info(f" 订单名义价值: {notional_value:.2f} USDT")
|
||||||
logger.info(f" 最小名义价值: {min_notional:.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(
|
logger.warning(
|
||||||
f"❌ {symbol} 订单名义价值不足: {notional_value:.2f} USDT < "
|
f"❌ {symbol} 订单名义价值不足: {notional_value:.2f} USDT < "
|
||||||
f"最小要求: {min_notional:.2f} USDT"
|
f"最小要求: {min_notional_for_order:.2f} USDT"
|
||||||
)
|
)
|
||||||
|
if reduce_only:
|
||||||
|
logger.warning(f" 这是平仓订单,但名义价值仍然太小,无法执行")
|
||||||
|
else:
|
||||||
logger.warning(f" 需要增加数量或提高仓位大小")
|
logger.warning(f" 需要增加数量或提高仓位大小")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
@ -694,7 +702,11 @@ class BinanceClient:
|
||||||
min_margin_usdt = config.TRADING_CONFIG.get('MIN_MARGIN_USDT', 0.5) # 默认0.5 USDT
|
min_margin_usdt = config.TRADING_CONFIG.get('MIN_MARGIN_USDT', 0.5) # 默认0.5 USDT
|
||||||
required_margin = notional_value / current_leverage
|
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
|
required_notional_value = min_margin_usdt * current_leverage
|
||||||
logger.warning(
|
logger.warning(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user