1
This commit is contained in:
parent
4c7cd86fb0
commit
a03bb0e8f3
|
|
@ -46,6 +46,8 @@ DEFAULTS_TO_SYNC = [
|
||||||
"description": "是否启用固定风险仓位计算(推荐)。若启用,则忽略 MAX_POSITION_PERCENT,改用 FIXED_RISK_PERCENT 计算仓位。"},
|
"description": "是否启用固定风险仓位计算(推荐)。若启用,则忽略 MAX_POSITION_PERCENT,改用 FIXED_RISK_PERCENT 计算仓位。"},
|
||||||
{"config_key": "FIXED_RISK_PERCENT", "config_value": "0.025", "config_type": "number", "category": "risk",
|
{"config_key": "FIXED_RISK_PERCENT", "config_value": "0.025", "config_type": "number", "category": "risk",
|
||||||
"description": "每笔交易风险占总账户的百分比(如 0.025=2.5%)。配合止损距离计算仓位,风险可控。"},
|
"description": "每笔交易风险占总账户的百分比(如 0.025=2.5%)。配合止损距离计算仓位,风险可控。"},
|
||||||
|
{"config_key": "MIN_MARGIN_USDT", "config_value": "2.0", "config_type": "number", "category": "risk",
|
||||||
|
"description": "最小保证金(USDT)。2026-02-13 提高到 2.0 USDT 以避免无效小单。"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -654,7 +654,8 @@ class RiskManager:
|
||||||
margin_value = notional_value / actual_leverage
|
margin_value = notional_value / actual_leverage
|
||||||
|
|
||||||
# 检查最小保证金要求(margin 语义:MIN_MARGIN_USDT 本身就是保证金下限)
|
# 检查最小保证金要求(margin 语义:MIN_MARGIN_USDT 本身就是保证金下限)
|
||||||
min_margin_usdt = config.TRADING_CONFIG.get('MIN_MARGIN_USDT', 0.5) # 默认0.5 USDT
|
# 2026-02-13 优化:默认最小保证金提高到 2.0 USDT,避免无效小单
|
||||||
|
min_margin_usdt = config.TRADING_CONFIG.get('MIN_MARGIN_USDT', 2.0)
|
||||||
logger.info(f" 当前保证金: {margin_value:.4f} USDT (杠杆: {actual_leverage}x)")
|
logger.info(f" 当前保证金: {margin_value:.4f} USDT (杠杆: {actual_leverage}x)")
|
||||||
|
|
||||||
if margin_value < min_margin_usdt:
|
if margin_value < min_margin_usdt:
|
||||||
|
|
@ -664,8 +665,14 @@ class RiskManager:
|
||||||
)
|
)
|
||||||
|
|
||||||
# 检查是否可以使用更大的仓位价值(但不超过最大仓位限制)
|
# 检查是否可以使用更大的仓位价值(但不超过最大仓位限制)
|
||||||
max_position_percent = config.TRADING_CONFIG['MAX_POSITION_PERCENT']
|
if use_fixed_risk:
|
||||||
max_margin_value = available_balance * max_position_percent
|
# 固定风险模式下,放宽最大仓位限制(允许高达95%可用余额)
|
||||||
|
max_position_percent = 0.95
|
||||||
|
max_margin_value = available_balance * 0.95
|
||||||
|
else:
|
||||||
|
max_position_percent = config.TRADING_CONFIG['MAX_POSITION_PERCENT']
|
||||||
|
max_margin_value = available_balance * max_position_percent
|
||||||
|
|
||||||
if min_margin_usdt <= max_margin_value:
|
if min_margin_usdt <= max_margin_value:
|
||||||
margin_value = min_margin_usdt
|
margin_value = min_margin_usdt
|
||||||
notional_value = margin_value * actual_leverage
|
notional_value = margin_value * actual_leverage
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user