Fix perp manual order watch_entry bug; slim dialog UI; nav shows 永期/期期.
Manual market_order was validated as watch (missing watch_entry=0). Collapse order calc into details, remove page head card, show mode name in nav. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -21,30 +21,37 @@
|
||||
<div class="flash" style="margin-bottom:12px">永期与期期 Tab 均已隐藏:请在 env「期权/对冲模式」切换交易模式.</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="card hp-head-card">
|
||||
<div class="hp-head-row">
|
||||
<h2 class="hp-title">对冲计划 <span class="muted hp-title-sub">测算 · 下单</span>
|
||||
<a class="muted" href="/options/guide" target="_blank" rel="noopener" style="font-size:13px;font-weight:500;margin-left:8px">期权开平仓与监控说明</a>
|
||||
</h2>
|
||||
<button type="button" class="btn-secondary" id="hp-refresh" title="刷新永续行情与期权链">刷新行情</button>
|
||||
</div>
|
||||
<div class="hp-tabs" role="tablist" aria-label="对冲计划分类">
|
||||
{% if hedge_plan_show_perp_options %}
|
||||
<button type="button" class="hp-tab" role="tab" aria-selected="false" data-tab="perp_options">永期对冲</button>
|
||||
{% endif %}
|
||||
{% if hedge_plan_show_options_options %}
|
||||
<button type="button" class="hp-tab" role="tab" aria-selected="false" data-tab="options_options">期期对冲</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
<p class="muted" id="hp-gate-line"></p>
|
||||
<p class="muted hp-acct-hint" id="hp-acct-hint">永续腿→合约账户 · 期权腿→期权账户</p>
|
||||
{# 顶栏「对冲计划」已改为导航「永期/期期对冲」;页内不再重复大标题 #}
|
||||
<div class="hp-page-toolbar">
|
||||
<button type="button" class="btn-secondary" id="hp-refresh" title="刷新永续行情与期权链">刷新行情</button>
|
||||
<span class="muted hp-po-gate-inline" id="hp-po-gate-inline" aria-live="polite"></span>
|
||||
</div>
|
||||
<div class="hp-tabs" role="tablist" aria-label="对冲模式" hidden>
|
||||
{% if hedge_plan_show_perp_options %}
|
||||
<button type="button" class="hp-tab" role="tab" aria-selected="false" data-tab="perp_options">永期对冲</button>
|
||||
{% endif %}
|
||||
{% if hedge_plan_show_options_options %}
|
||||
<button type="button" class="hp-tab" role="tab" aria-selected="false" data-tab="options_options">期期对冲</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
<p class="muted" id="hp-gate-line" hidden></p>
|
||||
<p class="muted hp-acct-hint" id="hp-acct-hint" hidden>永续腿→合约账户 · 期权腿→期权账户</p>
|
||||
|
||||
<div id="hp-tab-perp_options" class="hp-tab-panel" role="tabpanel">
|
||||
<div class="options-dual-grid" id="hp-po-layout">
|
||||
<!-- 左:选约(点选择→弹窗下单,同期权页) -->
|
||||
<!-- 左:选约(点选择→弹窗下单) -->
|
||||
<div class="card hp-po-left-card hp-po-select-card options-order-card">
|
||||
<h2>手动选约 · <span id="hp-opt-type-label">Call</span> <span class="muted hp-acct-tag" id="hp-opt-acct-tag">币本位</span></h2>
|
||||
<details class="tip-collapse hp-rule-collapse">
|
||||
<summary class="tip-collapse-summary">规则说明</summary>
|
||||
<div class="tip-collapse-body rule-tip">
|
||||
<p><strong>手动选约</strong>:左侧选 Call/Put 与到期,点「选择」弹窗下单。买 Call → 永续空;买 Put → 永续多。比例默认 <strong>2</strong>(期权名义÷比例=永续名义)。</p>
|
||||
<p><strong>手动下单</strong>:开仓按<strong>卖一限价</strong>(非交易所市价)。先开期权(按张数买币并+5%滑点),再开永续。永续杠杆取 env:BTC=<code>BTC_LEVERAGE</code>/ETH=<code>ALT_LEVERAGE</code>。</p>
|
||||
<p><strong>出场</strong>:盈利金额(扣开平双边手续费后净利)或目标位点数二选一。平仓先期权(须买一流动性)再永续,再把币全部卖回 USDT。一账户同时仅一笔对冲仓。</p>
|
||||
<p><strong>开仓校验</strong>:已选合约 · 张数≥1 · 出场条件已填 · 门禁「开仓:可」· 账户有足够交易 USDT。</p>
|
||||
<p class="muted" id="hp-po-pair-hint">买 Call + 永续空 · 点「选择」弹窗下单。</p>
|
||||
</div>
|
||||
</details>
|
||||
<div class="form-row hp-opt-toolbar hp-po-opt-toolbar options-chain-toolbar">
|
||||
<button type="button" class="btn-secondary hp-uly-btn active" data-uly="ETH">ETH</button>
|
||||
<button type="button" class="btn-secondary hp-uly-btn" data-uly="BTC">BTC</button>
|
||||
@@ -68,7 +75,6 @@
|
||||
<button type="button" class="btn-secondary" id="hp-load-chain">刷新链</button>
|
||||
<span id="hp-index-line" class="hp-po-index" aria-live="polite">指数 —</span>
|
||||
</div>
|
||||
<p class="muted hp-po-chain-hint" id="hp-po-pair-hint">买 Call + 永续空 · 点「选择」弹窗下单;比例默认 2(期权 1 → 永续 0.5)。</p>
|
||||
<input type="hidden" id="hp-min-hours" value="0" />
|
||||
<input type="hidden" id="hp-strike-interval" value="0" />
|
||||
<input type="hidden" id="hp-opt-leverage" value="0" />
|
||||
@@ -95,7 +101,7 @@
|
||||
</div>
|
||||
<div id="hp-opt-bal-line" class="muted hp-po-meta hp-opt-bal-line"></div>
|
||||
|
||||
<!-- 弹窗下单(同期权页) -->
|
||||
<!-- 弹窗下单 -->
|
||||
<div id="hp-order-panel-host" class="opt-order-backdrop" hidden aria-hidden="true">
|
||||
<div id="hp-order-panel" class="opt-order-dialog hp-po-order-dialog" role="dialog" aria-modal="true" aria-labelledby="hp-order-dialog-title" style="display:none">
|
||||
<div class="opt-order-dialog-head">
|
||||
@@ -105,15 +111,15 @@
|
||||
<div class="opt-order-layout">
|
||||
<div class="opt-order-main">
|
||||
<div id="hp-sel-inst" class="options-order-inst">—</div>
|
||||
<p class="muted hp-po-meta" id="hp-premium-line"></p>
|
||||
<div class="hp-po-quote-head">
|
||||
<div class="hp-po-quote-compact">
|
||||
<span id="hp-po-mark" class="hp-po-mark" aria-live="polite">标记 —</span>
|
||||
<span class="muted hp-acct-tag" id="hp-perp-acct-tag">合约账户</span>
|
||||
<span class="muted" id="hp-premium-line"></span>
|
||||
</div>
|
||||
<p id="hp-perp-quote" class="muted hp-po-meta">加载中…</p>
|
||||
<p id="hp-perp-quote" class="muted hp-po-meta hp-po-quote-one">加载中…</p>
|
||||
<p id="hp-po-perp-quote-right" class="muted hp-po-meta" hidden></p>
|
||||
<span id="hp-po-mode-badge" class="hp-po-mode-badge" hidden>手动下单</span>
|
||||
<span id="hp-po-card-title" hidden>下单</span>
|
||||
<span class="muted hp-acct-tag" id="hp-perp-acct-tag" hidden>合约账户</span>
|
||||
|
||||
<div class="hp-po-fields hidden" id="hp-po-fields-insurance" hidden>
|
||||
<label class="hp-po-field">
|
||||
@@ -151,19 +157,17 @@
|
||||
<input type="number" step="1" id="hp-perp-leverage" value="{{ hedge_plan_eth_leverage | default(5) }}" readonly autocomplete="off" inputmode="numeric" data-lpignore="true" data-1p-ignore="true" data-form-type="other" title="BTC=BTC_LEVERAGE ETH=ALT_LEVERAGE" />
|
||||
</label>
|
||||
</div>
|
||||
<p class="muted hp-po-max-line" id="hp-po-max-line">期权开仓最大 —</p>
|
||||
<p class="muted hp-po-perp-auto" id="hp-po-perp-auto">永续开仓 —</p>
|
||||
</section>
|
||||
<section class="hp-po-section">
|
||||
<h3 class="hp-po-section-title">出场条件</h3>
|
||||
<h3 class="hp-po-section-title">出场条件 <span class="muted" style="font-weight:500;font-size:.78rem">必填其一</span></h3>
|
||||
<div class="hp-oo-seg hp-po-exit-seg" role="group" aria-label="出场方式">
|
||||
<button type="button" class="btn-secondary hp-po-exit-mode is-selected" data-exit="profit"><span class="hp-oo-check" aria-hidden="true">✓</span>盈利金额出场</button>
|
||||
<button type="button" class="btn-secondary hp-po-exit-mode" data-exit="target"><span class="hp-oo-check" aria-hidden="true">✓</span>目标位出场</button>
|
||||
</div>
|
||||
<div class="hp-po-fields hp-po-fields--section" id="hp-po-exit-profit">
|
||||
<label class="hp-po-field">
|
||||
<label class="hp-po-field hp-po-field--wide">
|
||||
<span class="hp-po-field-lab">目标盈利 <em>USDT</em></span>
|
||||
<input type="number" step="any" min="0.01" id="hp-profit-target" placeholder="扣双边手续费后净利" autocomplete="off" inputmode="decimal" data-lpignore="true" data-1p-ignore="true" data-form-type="other" />
|
||||
<input type="number" step="any" min="0.01" id="hp-profit-target" placeholder="必填 · 扣双边手续费后净利" autocomplete="off" inputmode="decimal" data-lpignore="true" data-1p-ignore="true" data-form-type="other" required />
|
||||
</label>
|
||||
</div>
|
||||
<div class="hp-po-fields hp-po-fields--section hidden" id="hp-po-exit-target" hidden>
|
||||
@@ -176,11 +180,17 @@
|
||||
<input type="number" step="any" id="hp-perp-target-pts" placeholder="点数" autocomplete="off" inputmode="decimal" data-lpignore="true" data-1p-ignore="true" data-form-type="other" />
|
||||
</label>
|
||||
</div>
|
||||
<p class="err hp-po-order-err" id="hp-po-order-err" hidden></p>
|
||||
</section>
|
||||
</div>
|
||||
<div class="hp-po-summary">
|
||||
<div id="hp-perp-pnl-line" class="hp-po-pnl"></div>
|
||||
<div id="hp-sizing-line" class="muted hp-po-sizing"></div>
|
||||
<details class="tip-collapse hp-rule-collapse hp-po-order-calc">
|
||||
<summary class="tip-collapse-summary">仓位测算明细</summary>
|
||||
<div class="tip-collapse-body">
|
||||
<p class="muted hp-po-max-line" id="hp-po-max-line">期权开仓最大 —</p>
|
||||
<p class="muted hp-po-perp-auto" id="hp-po-perp-auto">永续开仓 —</p>
|
||||
<div id="hp-perp-pnl-line" class="hp-po-pnl"></div>
|
||||
<div id="hp-sizing-line" class="muted hp-po-sizing"></div>
|
||||
</div>
|
||||
</details>
|
||||
</div>
|
||||
<div class="opt-order-dialog-actions">
|
||||
<span id="hp-po-strategy-status" class="hp-po-strategy-status" aria-live="polite"></span>
|
||||
@@ -416,4 +426,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/static/hedge_plan.js?v=51"></script>
|
||||
<script src="/static/hedge_plan.js?v=52"></script>
|
||||
|
||||
Reference in New Issue
Block a user