Add sideways max-loss to perpetual-options calculator.
Show premium wipeout plus flat round-trip perp fees as case C for both size and points modes. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -572,6 +572,35 @@
|
||||
}
|
||||
}
|
||||
|
||||
function renderSidewaysCase(sw) {
|
||||
sw = sw || {};
|
||||
return (
|
||||
'<section class="calc-po-case">' +
|
||||
"<h4>情景 C · 横盘(最大亏损)</h4>" +
|
||||
'<div class="calc-summary">' +
|
||||
"<div><span>永续盈亏</span><strong>" +
|
||||
fmtU(sw.perp_pnl_u != null ? sw.perp_pnl_u : 0) +
|
||||
"</strong></div>" +
|
||||
"<div><span>权利金(全亏)</span><strong>" +
|
||||
fmt(sw.premium_u, 2) +
|
||||
"U</strong></div>" +
|
||||
"<div><span>永续开平手续费</span><strong>" +
|
||||
fmt(sw.fee_u, 2) +
|
||||
"U</strong></div>" +
|
||||
"<div><span>最大亏损</span><strong class=\"" +
|
||||
pnlClass(sw.net_u) +
|
||||
'">' +
|
||||
fmt(sw.max_loss_u, 2) +
|
||||
"U</strong></div>" +
|
||||
"<div><span>组合净利</span><strong class=\"" +
|
||||
pnlClass(sw.net_u) +
|
||||
'">' +
|
||||
fmtU(sw.net_u) +
|
||||
"</strong></div>" +
|
||||
"</div></section>"
|
||||
);
|
||||
}
|
||||
|
||||
function renderPerpOptionsResult(data) {
|
||||
const box = $("calc-po-result");
|
||||
if (!box) return;
|
||||
@@ -614,6 +643,11 @@
|
||||
"<div><span>永续保证金</span><strong>" +
|
||||
fmt(data.perp_margin_u, 2) +
|
||||
"U</strong></div>" +
|
||||
"<div><span>横盘最大亏损</span><strong class=\"" +
|
||||
pnlClass((data.case_sideways || {}).net_u) +
|
||||
'">' +
|
||||
fmt((data.case_sideways || {}).max_loss_u, 2) +
|
||||
"U</strong></div>" +
|
||||
"<div><span>开仓参考</span><strong>" +
|
||||
esc(capitalHint) +
|
||||
"</strong></div>" +
|
||||
@@ -663,7 +697,9 @@
|
||||
'">' +
|
||||
fmtU(b.portfolio_net_u) +
|
||||
"</strong></div>" +
|
||||
"</div></section></div>";
|
||||
"</div></section>" +
|
||||
renderSidewaysCase(data.case_sideways) +
|
||||
"</div>";
|
||||
}
|
||||
|
||||
function renderPerpOptionsPointsResult(data) {
|
||||
@@ -743,6 +779,11 @@
|
||||
"<div><span>永续保证金</span><strong>" +
|
||||
fmt(data.perp_margin_u, 2) +
|
||||
"U</strong></div>" +
|
||||
"<div><span>横盘最大亏损</span><strong class=\"" +
|
||||
pnlClass((data.case_sideways || {}).net_u) +
|
||||
'">' +
|
||||
fmt((data.case_sideways || {}).max_loss_u, 2) +
|
||||
"U</strong></div>" +
|
||||
"<div><span>开仓参考</span><strong>" +
|
||||
esc(capitalHint) +
|
||||
"</strong></div>" +
|
||||
@@ -774,6 +815,7 @@
|
||||
"</strong></div>" +
|
||||
"</div></section>" +
|
||||
caseB +
|
||||
renderSidewaysCase(data.case_sideways) +
|
||||
"</div>";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user