Add OKX trading-account USDC auto-swap and lock exit target while in position.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-30 00:16:47 +08:00
parent f0b0b91f1b
commit 0837982714
16 changed files with 626 additions and 36 deletions
+15 -6
View File
@@ -147,7 +147,12 @@ export default function PlanPage() {
const exitMode = plan?.exit_mode ?? "fixed_usdt";
const riskBased =
plan?.risk_based === true || plan?.sizing_mode === "risk_based";
const riskLiveOk = !riskBased || plan?.risk_sizing_preview?.ok === true;
const riskLocked =
open &&
(plan?.risk_sizing_locked === true ||
plan?.risk_sizing_preview?.locked === true);
const riskLiveOk =
!riskBased || riskLocked || plan?.risk_sizing_preview?.ok === true;
const displayPerpQty = riskLiveOk ? (plan?.perp_qty_eth ?? 1) : null;
const displayOptQty = riskLiveOk ? (plan?.option_qty_eth ?? 2) : null;
const exitTarget = riskLiveOk
@@ -160,7 +165,7 @@ export default function PlanPage() {
? `权利金×${fmt(plan?.premium_exit_multiple ?? 1, 2)}`
: riskBased
? exitTarget != null
? `固定 ${fmt(exitTarget)} U(基数${fmt(plan?.risk_exit_unit ?? 15)}`
? `${riskLocked ? "锁定 " : "固定 "}${fmt(exitTarget)} U(基数${fmt(plan?.risk_exit_unit ?? 15)}`
: `待估算(基数${fmt(plan?.risk_exit_unit ?? 15)}`
: `固定 ${fmt(plan?.net_profit_target ?? 15)} U`;
const riskRatioLabel = `比例${Number(plan?.risk_perp_unit ?? 1)}${Number(plan?.risk_option_unit ?? 2)}`;
@@ -169,10 +174,14 @@ export default function PlanPage() {
"以损定仓",
riskRatioLabel,
plan?.risk_last_k != null ? `k=${fmt(plan.risk_last_k, 1)}` : null,
plan?.risk_sizing_preview?.budget != null
? `预算${fmt(plan.risk_sizing_preview.budget, 2)}U`
: null,
plan?.risk_sizing_preview?.ok === false
riskLocked
? exitTarget != null
? `目标锁定${fmt(exitTarget, 2)}U`
: "目标已锁定"
: plan?.risk_sizing_preview?.budget != null
? `预算${fmt(plan.risk_sizing_preview.budget, 2)}U`
: null,
!riskLocked && plan?.risk_sizing_preview?.ok === false
? String(plan.risk_sizing_preview.detail || "预览失败")
: null,
]
+6 -2
View File
@@ -1474,14 +1474,18 @@ export default function SettingsPage() {
onToggle={() => setFundsRulesOpen((v) => !v)}
>
<p>
OKX USDC-USDT<strong></strong>
USDTUSDC{" "}
OKX USDC-USDT<strong></strong>
{" "}
{usdcRate != null ? `1 USDC ≈ ${usdcRate.toFixed(4)} USDT` : "—"}
</p>
<p>
<strong> </strong>
USDT/USDCOKX /
</p>
<p>
USDC OKX SIM/LIVE<strong></strong> USDC
USDTUSDC×2
</p>
</RulesFold>
<section className="settings-section">