fix: Update settings UI to show % instead of USD when percentage mode active
- Add SOLANA_USE_PERCENTAGE_SIZE and ETHEREUM_USE_PERCENTAGE_SIZE to TradingSettings interface - Make SOL/ETH Position Size labels dynamic based on percentage mode - Adjust max value (100 for %, 10000 for USD) based on mode - Update descriptions to match mode (% of collateral vs fixed capital)
This commit is contained in:
@@ -12,14 +12,17 @@ interface TradingSettings {
|
|||||||
// Global fallback settings
|
// Global fallback settings
|
||||||
MAX_POSITION_SIZE_USD: number
|
MAX_POSITION_SIZE_USD: number
|
||||||
LEVERAGE: number
|
LEVERAGE: number
|
||||||
|
USE_PERCENTAGE_SIZE: boolean
|
||||||
|
|
||||||
// Per-symbol settings
|
// Per-symbol settings
|
||||||
SOLANA_ENABLED: boolean
|
SOLANA_ENABLED: boolean
|
||||||
SOLANA_POSITION_SIZE: number
|
SOLANA_POSITION_SIZE: number
|
||||||
SOLANA_LEVERAGE: number
|
SOLANA_LEVERAGE: number
|
||||||
|
SOLANA_USE_PERCENTAGE_SIZE: boolean
|
||||||
ETHEREUM_ENABLED: boolean
|
ETHEREUM_ENABLED: boolean
|
||||||
ETHEREUM_POSITION_SIZE: number
|
ETHEREUM_POSITION_SIZE: number
|
||||||
ETHEREUM_LEVERAGE: number
|
ETHEREUM_LEVERAGE: number
|
||||||
|
ETHEREUM_USE_PERCENTAGE_SIZE: boolean
|
||||||
|
|
||||||
// Risk management
|
// Risk management
|
||||||
STOP_LOSS_PERCENT: number
|
STOP_LOSS_PERCENT: number
|
||||||
@@ -288,13 +291,17 @@ export default function SettingsPage() {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<Setting
|
<Setting
|
||||||
label="SOL Position Size (USD)"
|
label={`SOL Position Size (${settings.SOLANA_USE_PERCENTAGE_SIZE ? '%' : 'USD'})`}
|
||||||
value={settings.SOLANA_POSITION_SIZE}
|
value={settings.SOLANA_POSITION_SIZE}
|
||||||
onChange={(v) => updateSetting('SOLANA_POSITION_SIZE', v)}
|
onChange={(v) => updateSetting('SOLANA_POSITION_SIZE', v)}
|
||||||
min={1}
|
min={1}
|
||||||
max={10000}
|
max={settings.SOLANA_USE_PERCENTAGE_SIZE ? 100 : 10000}
|
||||||
step={1}
|
step={1}
|
||||||
description={`Base capital for SOL trades. With ${settings.SOLANA_LEVERAGE}x leverage = $${(settings.SOLANA_POSITION_SIZE * settings.SOLANA_LEVERAGE).toFixed(0)} notional position.`}
|
description={
|
||||||
|
settings.SOLANA_USE_PERCENTAGE_SIZE
|
||||||
|
? `Percentage of free collateral for SOL trades. With ${settings.SOLANA_LEVERAGE}x leverage.`
|
||||||
|
: `Base capital for SOL trades. With ${settings.SOLANA_LEVERAGE}x leverage = $${(settings.SOLANA_POSITION_SIZE * settings.SOLANA_LEVERAGE).toFixed(0)} notional position.`
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<Setting
|
<Setting
|
||||||
label="SOL Leverage"
|
label="SOL Leverage"
|
||||||
@@ -356,13 +363,17 @@ export default function SettingsPage() {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<Setting
|
<Setting
|
||||||
label="ETH Position Size (USD)"
|
label={`ETH Position Size (${settings.ETHEREUM_USE_PERCENTAGE_SIZE ? '%' : 'USD'})`}
|
||||||
value={settings.ETHEREUM_POSITION_SIZE}
|
value={settings.ETHEREUM_POSITION_SIZE}
|
||||||
onChange={(v) => updateSetting('ETHEREUM_POSITION_SIZE', v)}
|
onChange={(v) => updateSetting('ETHEREUM_POSITION_SIZE', v)}
|
||||||
min={1}
|
min={1}
|
||||||
max={10000}
|
max={settings.ETHEREUM_USE_PERCENTAGE_SIZE ? 100 : 10000}
|
||||||
step={1}
|
step={1}
|
||||||
description={`Base capital for ETH trades. With ${settings.ETHEREUM_LEVERAGE}x leverage = $${(settings.ETHEREUM_POSITION_SIZE * settings.ETHEREUM_LEVERAGE).toFixed(0)} notional position. Drift minimum: ~$38-40 (0.01 ETH).`}
|
description={
|
||||||
|
settings.ETHEREUM_USE_PERCENTAGE_SIZE
|
||||||
|
? `Percentage of free collateral for ETH trades. With ${settings.ETHEREUM_LEVERAGE}x leverage.`
|
||||||
|
: `Base capital for ETH trades. With ${settings.ETHEREUM_LEVERAGE}x leverage = $${(settings.ETHEREUM_POSITION_SIZE * settings.ETHEREUM_LEVERAGE).toFixed(0)} notional position. Drift minimum: ~$38-40 (0.01 ETH).`
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<Setting
|
<Setting
|
||||||
label="ETH Leverage"
|
label="ETH Leverage"
|
||||||
|
|||||||
Reference in New Issue
Block a user