Allow risk-based 永期 exits via premium multiple as well as base×k.
Settings UI picks 基数 or 权利金×n; sizing preview and control monitor follow. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -208,10 +208,13 @@ function riskLines(strat: Record<string, unknown>): RiskLines {
|
||||
const minH = Number(
|
||||
strat.oo_min_option_hours ?? strat.min_option_hours,
|
||||
);
|
||||
const ampFilt = strat.oo_amplitude_filter_enabled === true;
|
||||
const amp =
|
||||
Number.isFinite(ampN) && Number.isFinite(ampH)
|
||||
? `≤${fmt(ampN, ampN % 1 === 0 ? 0 : 1)}%·${fmt(ampH, 0)}h`
|
||||
: "≤—";
|
||||
? ampFilt
|
||||
? `≤${fmt(ampN, ampN % 1 === 0 ? 0 : 1)}%·${fmt(ampH, 0)}h`
|
||||
: `${fmt(ampH, 0)}h`
|
||||
: "—";
|
||||
const callQ =
|
||||
strat.risk_sizing_preview &&
|
||||
typeof strat.risk_sizing_preview === "object" &&
|
||||
@@ -246,13 +249,15 @@ function riskLines(strat: Record<string, unknown>): RiskLines {
|
||||
isOo: true,
|
||||
sizing: riskBased ? "以损定仓(A)" : "手动开仓(B)",
|
||||
sizingShort: riskBased ? "A" : "B",
|
||||
lossPct: Number.isFinite(ampN)
|
||||
lossPct: ampFilt && Number.isFinite(ampN)
|
||||
? `≤${fmt(ampN, ampN % 1 === 0 ? 0 : 1)}%`
|
||||
: null,
|
||||
exit,
|
||||
openRatio,
|
||||
riskOrOpen: `${amp}/${openRatio}/${minHours}`,
|
||||
riskOrOpenTitle: "振幅上限·回看 / Call:Put 数量 / 最短剩余(h)",
|
||||
riskOrOpenTitle: ampFilt
|
||||
? "振幅上限·回看 / Call:Put 数量 / 最短剩余(h)"
|
||||
: "振幅回看 / Call:Put 数量 / 最短剩余(h)",
|
||||
minHours,
|
||||
leverage,
|
||||
leverageTitle: "期期单腿最低杠杆",
|
||||
@@ -261,7 +266,12 @@ function riskLines(strat: Record<string, unknown>): RiskLines {
|
||||
|
||||
const exitMode = String(strat.exit_mode || "fixed_usdt");
|
||||
let exit: string;
|
||||
if (riskBased) {
|
||||
if (riskBased && exitMode === "premium_multiple") {
|
||||
exit =
|
||||
strat.premium_exit_multiple != null
|
||||
? `权利金×${fmt(strat.premium_exit_multiple, 2)}`
|
||||
: "权利金×—";
|
||||
} else if (riskBased) {
|
||||
exit =
|
||||
strat.risk_exit_unit != null && Number.isFinite(Number(strat.risk_exit_unit))
|
||||
? `基数${unitLabel(strat.risk_exit_unit)}`
|
||||
|
||||
Reference in New Issue
Block a user