| | |
| | | priceDriveEnabled: byId('priceDriveEnabled').value === 'true', |
| | | rounds: parseInt(byId('rounds').value) || 0, |
| | | stopLossCountMode: byId('stopLossCountMode').value, |
| | | addPositionInterval: parseInt(byId('addPositionInterval').value) || 3, |
| | | addPositionQuantity: parseInt(byId('addPositionQuantity').value) || 1, |
| | | maxPositionPerSide: parseInt(byId('maxPositionPerSide').value) || 0, |
| | | addPositionStartThreshold: parseInt(byId('addPositionStartThreshold').value) ?? 1 |
| | | addPositionInterval: intVal(byId('addPositionInterval').value, 3), |
| | | addPositionQuantity: intVal(byId('addPositionQuantity').value, 1), |
| | | maxPositionPerSide: intVal(byId('maxPositionPerSide').value, 0), |
| | | addPositionStartThreshold: intVal(byId('addPositionStartThreshold').value, 1) |
| | | }; |
| | | } |
| | | function intVal(str, fallback) { |
| | | const v = parseInt(str); |
| | | return isNaN(v) ? fallback : v; |
| | | } |
| | | |
| | | async function saveConfig() { |
| | | if (!currentApiKey) return toast('请先输入 API Key', 'error'); |