a
This commit is contained in:
parent
26b2674c86
commit
695bdfd319
|
|
@ -659,11 +659,11 @@ const ConfigItem = ({ label, config, onUpdate, disabled }) => {
|
||||||
// 对于数字类型,只允许数字、小数点和负号
|
// 对于数字类型,只允许数字、小数点和负号
|
||||||
if (config.type === 'number') {
|
if (config.type === 'number') {
|
||||||
// 允许空字符串、数字、小数点和负号
|
// 允许空字符串、数字、小数点和负号
|
||||||
const validPattern = /^-?\d*\.?\d*$/
|
// const validPattern = /^-?\d*\.?\d*$/
|
||||||
if (newValue !== '' && !validPattern.test(newValue)) {
|
// if (newValue !== '' && !validPattern.test(newValue)) {
|
||||||
// 无效输入,不更新
|
// // 无效输入,不更新
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 如果是百分比配置,限制输入范围(0-100)
|
// 如果是百分比配置,限制输入范围(0-100)
|
||||||
if (label.includes('PERCENT')) {
|
if (label.includes('PERCENT')) {
|
||||||
|
|
|
||||||
|
|
@ -161,8 +161,8 @@ class PositionManager:
|
||||||
margin = position_value / leverage if leverage > 0 else position_value
|
margin = position_value / leverage if leverage > 0 else position_value
|
||||||
|
|
||||||
# 获取止损止盈百分比(相对于保证金)
|
# 获取止损止盈百分比(相对于保证金)
|
||||||
stop_loss_pct_margin = self.risk_manager.config.get('STOP_LOSS_PERCENT', 0.03)
|
stop_loss_pct_margin = config.TRADING_CONFIG.get('STOP_LOSS_PERCENT', 0.03)
|
||||||
take_profit_pct_margin = self.risk_manager.config.get('TAKE_PROFIT_PERCENT', 0.05)
|
take_profit_pct_margin = config.TRADING_CONFIG.get('TAKE_PROFIT_PERCENT', 0.05)
|
||||||
|
|
||||||
# 计算基于保证金的止损止盈
|
# 计算基于保证金的止损止盈
|
||||||
stop_loss_price = self.risk_manager.get_stop_loss_price(
|
stop_loss_price = self.risk_manager.get_stop_loss_price(
|
||||||
|
|
@ -175,7 +175,7 @@ class PositionManager:
|
||||||
|
|
||||||
# 计算止盈(基于保证金,支持ATR动态止盈)
|
# 计算止盈(基于保证金,支持ATR动态止盈)
|
||||||
# 优先使用配置的止盈百分比,如果没有配置则使用止损的3倍(盈亏比3:1)
|
# 优先使用配置的止盈百分比,如果没有配置则使用止损的3倍(盈亏比3:1)
|
||||||
take_profit_pct_margin = self.risk_manager.config.get('TAKE_PROFIT_PERCENT', 0.30)
|
take_profit_pct_margin = config.TRADING_CONFIG.get('TAKE_PROFIT_PERCENT', 0.30)
|
||||||
# 如果配置中没有设置止盈,则使用止损的3倍作为默认(盈亏比3:1)
|
# 如果配置中没有设置止盈,则使用止损的3倍作为默认(盈亏比3:1)
|
||||||
if take_profit_pct_margin is None or take_profit_pct_margin == 0:
|
if take_profit_pct_margin is None or take_profit_pct_margin == 0:
|
||||||
take_profit_pct_margin = stop_loss_pct_margin * 3.0
|
take_profit_pct_margin = stop_loss_pct_margin * 3.0
|
||||||
|
|
@ -1452,8 +1452,8 @@ class PositionManager:
|
||||||
|
|
||||||
# 计算止损止盈(基于保证金)
|
# 计算止损止盈(基于保证金)
|
||||||
leverage = binance_position.get('leverage', 10)
|
leverage = binance_position.get('leverage', 10)
|
||||||
stop_loss_pct_margin = self.risk_manager.config.get('STOP_LOSS_PERCENT', 0.08)
|
stop_loss_pct_margin = config.TRADING_CONFIG.get('STOP_LOSS_PERCENT', 0.08)
|
||||||
take_profit_pct_margin = self.risk_manager.config.get('TAKE_PROFIT_PERCENT', 0.15)
|
take_profit_pct_margin = config.TRADING_CONFIG.get('TAKE_PROFIT_PERCENT', 0.15)
|
||||||
# 如果配置中没有设置止盈,则使用止损的2倍作为默认
|
# 如果配置中没有设置止盈,则使用止损的2倍作为默认
|
||||||
if take_profit_pct_margin is None or take_profit_pct_margin == 0:
|
if take_profit_pct_margin is None or take_profit_pct_margin == 0:
|
||||||
take_profit_pct_margin = stop_loss_pct_margin * 2.0
|
take_profit_pct_margin = stop_loss_pct_margin * 2.0
|
||||||
|
|
@ -1547,8 +1547,8 @@ class PositionManager:
|
||||||
|
|
||||||
# 计算止损止盈(基于保证金)
|
# 计算止损止盈(基于保证金)
|
||||||
leverage = position.get('leverage', 10)
|
leverage = position.get('leverage', 10)
|
||||||
stop_loss_pct_margin = self.risk_manager.config.get('STOP_LOSS_PERCENT', 0.08)
|
stop_loss_pct_margin = config.TRADING_CONFIG.get('STOP_LOSS_PERCENT', 0.08)
|
||||||
take_profit_pct_margin = self.risk_manager.config.get('TAKE_PROFIT_PERCENT', 0.15)
|
take_profit_pct_margin = config.TRADING_CONFIG.get('TAKE_PROFIT_PERCENT', 0.15)
|
||||||
# 如果配置中没有设置止盈,则使用止损的2倍作为默认
|
# 如果配置中没有设置止盈,则使用止损的2倍作为默认
|
||||||
if take_profit_pct_margin is None or take_profit_pct_margin == 0:
|
if take_profit_pct_margin is None or take_profit_pct_margin == 0:
|
||||||
take_profit_pct_margin = stop_loss_pct_margin * 2.0
|
take_profit_pct_margin = stop_loss_pct_margin * 2.0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user