1:
updateField('min_risk_reward_ratio', parseFloat(e.target.value) || 3)
}
@@ -188,7 +286,7 @@ export function RiskControlEditor({
-
-
-
-
- {t('maxPositionRatioDesc')}
-
-
-
- updateField('max_position_ratio', parseFloat(e.target.value) || 1.5)
- }
- disabled={disabled}
- min={0.5}
- max={5}
- step={0.1}
- className="w-20 px-3 py-2 rounded"
- style={{
- background: '#1E2329',
- border: '1px solid #2B3139',
- color: '#EAECEF',
- }}
- />
-
- x
+
+ {Math.round((config.max_margin_usage ?? 0.9) * 100)}%
@@ -273,7 +337,7 @@ export function RiskControlEditor({
diff --git a/web/src/components/traders/ExchangeConfigModal.tsx b/web/src/components/traders/ExchangeConfigModal.tsx
index a68d945d..7d9351cc 100644
--- a/web/src/components/traders/ExchangeConfigModal.tsx
+++ b/web/src/components/traders/ExchangeConfigModal.tsx
@@ -692,12 +692,42 @@ export function ExchangeConfigModal({
{/* Aster 交易所的字段 */}
{selectedExchange.id === 'aster' && (
<>
+ {/* API Pro 代理钱包说明 banner */}
+
+
+
+ 🔐
+
+
+
+ {t('asterApiProTitle', language)}
+
+
+ {t('asterApiProDesc', language)}
+
+
+
+
+
+ {/* 主钱包地址 */}
+ {/* API Pro 代理钱包地址 */}
+ {/* API Pro 代理钱包私钥 */}
>
)}
diff --git a/web/src/components/traders/sections/TradersGrid.tsx b/web/src/components/traders/sections/TradersGrid.tsx
index 91334f1c..fd2b32b1 100644
--- a/web/src/components/traders/sections/TradersGrid.tsx
+++ b/web/src/components/traders/sections/TradersGrid.tsx
@@ -75,6 +75,7 @@ export function TradersGrid({
trader.ai_model.split('_').pop() || trader.ai_model
)}{' '}
Model • {trader.exchange_id?.toUpperCase()}
+
• {trader.strategy_name || 'No Strategy'}