Revise strategy: TTM+ATM+leverage option pick, % exit, perp leverage/margin.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+20
-16
@@ -75,15 +75,15 @@ export default function PlanPage() {
|
||||
|
||||
const pos = plan?.position;
|
||||
const open = !!pos?.has_position;
|
||||
const exitN = plan?.exit_move_points ?? 30;
|
||||
const move = pos?.move_points ?? 0;
|
||||
const exitPct = plan?.exit_move_pct ?? 2;
|
||||
const movePct = pos?.move_pct ?? 0;
|
||||
const phaseLabel = PHASE_ZH[plan?.phase || ""] || plan?.phase || "—";
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h2 style={{ marginTop: 0 }}>自动对冲计划</h2>
|
||||
<p style={{ color: "var(--muted)", marginTop: -8 }}>
|
||||
SIM 本地撮合 · 期权只买 · 标的波动 N 点可配
|
||||
SIM 本地撮合 · 期权只买 · 剩余时长选到期 · 波动按比例全平
|
||||
</p>
|
||||
{err ? <div className="err">{err}</div> : null}
|
||||
|
||||
@@ -142,14 +142,14 @@ export default function PlanPage() {
|
||||
)}
|
||||
<span className="mono">
|
||||
{" "}
|
||||
· {phaseLabel} · 轮次 {plan?.rounds_done ?? 0}/{plan?.max_rounds ?? 3}
|
||||
· {phaseLabel} · 已完成 {plan?.rounds_done ?? 0} 组
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div className="kv">
|
||||
<span>开仓窗</span>
|
||||
<span>选约条件</span>
|
||||
<span className="mono">
|
||||
{plan?.can_open ? "可开" : "禁止新开"} · 窗 {plan?.window_key || "—"}
|
||||
剩余≥{fmt(plan?.min_option_hours, 0)}h · 期权杠杆≥{fmt(plan?.min_option_leverage, 0)}x
|
||||
</span>
|
||||
</div>
|
||||
<div className="kv">
|
||||
@@ -159,9 +159,10 @@ export default function PlanPage() {
|
||||
</span>
|
||||
</div>
|
||||
<div className="kv">
|
||||
<span>权益</span>
|
||||
<span>权益 / 杠杆</span>
|
||||
<span className="mono">
|
||||
{fmt(plan?.ledger?.equity)} / 可用 {fmt(plan?.ledger?.available)}
|
||||
{fmt(plan?.ledger?.equity)} / 可用 {fmt(plan?.ledger?.available)} ·{" "}
|
||||
{fmt(plan?.leverage, 0)}x
|
||||
</span>
|
||||
</div>
|
||||
<div className="kv">
|
||||
@@ -181,9 +182,9 @@ export default function PlanPage() {
|
||||
</span>
|
||||
</div>
|
||||
<div className="kv">
|
||||
<span>N 点进度</span>
|
||||
<span>波动进度</span>
|
||||
<span className="mono">
|
||||
{fmt(move, 1)} / {fmt(exitN, 0)}
|
||||
{fmt(movePct, 2)}% / {fmt(exitPct, 2)}%
|
||||
</span>
|
||||
</div>
|
||||
{plan?.last_error ? (
|
||||
@@ -217,6 +218,9 @@ export default function PlanPage() {
|
||||
<span className="pos-meta-item">永续持仓</span>
|
||||
<span className="pos-meta-item">组 {pos?.group_id}</span>
|
||||
<span className="pos-meta-item mono">数量 {fmt(pos?.perp_qty_eth, 2)} ETH</span>
|
||||
<span className="pos-meta-item mono">
|
||||
{fmt(pos?.leverage ?? plan?.leverage, 0)}x
|
||||
</span>
|
||||
</div>
|
||||
<div className="pos-grid">
|
||||
<div className="pos-cell">
|
||||
@@ -234,16 +238,16 @@ export default function PlanPage() {
|
||||
</span>
|
||||
</div>
|
||||
<div className="pos-cell">
|
||||
<span className="pos-label">指数</span>
|
||||
<span className="pos-value mono">{fmt(pos?.index_px)}</span>
|
||||
<span className="pos-label">保证金</span>
|
||||
<span className="pos-value mono">{fmt(pos?.perp_margin)}</span>
|
||||
</div>
|
||||
<div className="pos-cell">
|
||||
<span className="pos-label">开仓指数</span>
|
||||
<span className="pos-value mono">{fmt(pos?.entry_index_px)}</span>
|
||||
<span className="pos-label">名义价值</span>
|
||||
<span className="pos-value mono">{fmt(pos?.perp_notional)}</span>
|
||||
</div>
|
||||
<div className="pos-cell">
|
||||
<span className="pos-label">波动点数</span>
|
||||
<span className="pos-value mono">{fmt(move, 1)}</span>
|
||||
<span className="pos-label">波动比例</span>
|
||||
<span className="pos-value mono">{fmt(movePct, 2)}%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user