Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions tests/strategy_switch_worker_validation.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,11 @@ assert.ok(indexHtml.includes('qmt: { label: "QMT"'));
assert.ok(indexHtml.includes('cn_industry_etf_rotation'));
assert.ok(indexHtml.includes('id="income-layer-section"'));
assert.ok(indexHtml.includes('id="option-overlay-section"'));
assert.ok(indexHtml.includes('id="margin-policy-stack"'));
assert.ok(indexHtml.includes('class="margin-policy-stack"'));
assert.ok(indexHtml.includes('id="reserve-policy-stack"'));
assert.ok(indexHtml.includes('class="reserve-policy-stack"'));
assert.ok(indexHtml.includes('id="reserve-amounts-row"'));
assert.ok(indexHtml.includes('class="reserve-amounts-row"'));
assert.equal(indexHtml.includes('id="margin-policy-stack"'), false);
assert.equal(indexHtml.includes('id="reserve-policy-stack"'), false);
assert.equal(indexHtml.includes('id="reserve-amounts-row"'), false);
assert.ok(indexHtml.includes('id="min-reserve-block"'));
assert.ok(indexHtml.includes('id="reserve-ratio-block"'));
assert.ok(indexHtml.includes("cash_only_execution_mode: item.cash_only_execution_mode"));
assert.ok(indexHtml.includes("function incomeLayerFieldsConfigured("));
assert.ok(indexHtml.includes("function effectiveIncomeLayerForAccount("));
Expand Down
82 changes: 23 additions & 59 deletions web/strategy-switch-console/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -346,30 +346,6 @@
align-items: start;
}

.reserve-policy-stack {
display: grid;
gap: 14px;
min-width: 0;
}

.margin-policy-stack {
display: grid;
gap: 14px;
min-width: 0;
}

.reserve-amounts-row {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
min-width: 0;
}

.reserve-policy-stack.policy-stack-muted,
.reserve-amounts-row.policy-stack-muted {
opacity: 0.58;
}

.policy-block-muted .selection-meta {
color: var(--danger);
}
Expand All @@ -378,10 +354,6 @@
.execution-cash-policy-grid {
grid-template-columns: 1fr;
}

.reserve-amounts-row {
grid-template-columns: 1fr;
}
}

.mark {
Expand Down Expand Up @@ -1444,35 +1416,29 @@ <h3 class="execution-cash-policy-heading" data-i18n="executionCashPolicyTitle">
<p class="execution-cash-policy-note" id="execution-cash-policy-note" data-i18n="executionCashPolicyNote">允许融资与预留现金覆盖不能同时生效。</p>
<p class="execution-cash-policy-note qmt-platform-cash-note" id="qmt-platform-cash-note" hidden data-i18n="qmtPlatformCashNote">A 股 QMT 不使用 margin / 平台预留现金;现金约束在策略参数 execution_cash_reserve_ratio 内配置。</p>
<div class="execution-cash-policy-grid" id="execution-cash-policy-grid">
<div class="margin-policy-stack" id="margin-policy-stack">
<label class="control-block cash-only-mode-block policy-block" id="cash-only-policy-block">
<span data-i18n="cashOnlyExecutionMode">允许融资</span>
<select id="cash-only-execution-mode-select"></select>
<span class="selection-meta" id="cash-only-execution-mode-meta"></span>
</label>

<div class="reserve-amounts-row" id="reserve-amounts-row">
<label class="control-block min-reserve-block policy-block" id="min-reserve-block">
<span id="min-reserved-cash-label">最小预留现金</span>
<input id="min-reserved-cash-input" type="number" inputmode="decimal" min="0" step="1">
<span class="selection-meta" data-i18n="reservedCashMeta">固定金额下限,可单独设置或与比例取较大值。</span>
</label>

<label class="control-block reserve-ratio-block policy-block" id="reserve-ratio-block">
<span data-i18n="reservedCashRatio">预留现金比例</span>
<input id="reserved-cash-ratio-input" type="number" inputmode="decimal" min="0" max="1" step="0.01">
<span class="selection-meta" data-i18n="reservedCashRatioMeta">例如 0.03 表示 3%。</span>
</label>
</div>
</div>

<div class="reserve-policy-stack" id="reserve-policy-stack">
<label class="control-block reserve-policy-block policy-block" id="reserve-policy-block">
<span data-i18n="reservedCashMode">预留现金策略</span>
<select id="reserve-policy-mode-select"></select>
<span class="selection-meta" id="reserve-policy-mode-meta" data-i18n="reservedCashModeMeta">选择是否沿用、清空或覆盖平台预留现金。</span>
</label>
</div>
<label class="control-block cash-only-mode-block policy-block" id="cash-only-policy-block">
<span data-i18n="cashOnlyExecutionMode">允许融资</span>
<select id="cash-only-execution-mode-select"></select>
<span class="selection-meta" id="cash-only-execution-mode-meta"></span>
</label>

<label class="control-block reserve-policy-block policy-block" id="reserve-policy-block">
<span data-i18n="reservedCashMode">预留现金策略</span>
<select id="reserve-policy-mode-select"></select>
<span class="selection-meta" id="reserve-policy-mode-meta" data-i18n="reservedCashModeMeta">选择是否沿用、清空或覆盖平台预留现金。</span>
</label>

<label class="control-block min-reserve-block policy-block" id="min-reserve-block">
<span id="min-reserved-cash-label">最小预留现金</span>
<input id="min-reserved-cash-input" type="number" inputmode="decimal" min="0" step="1">
<span class="selection-meta" data-i18n="reservedCashMeta">固定金额下限,可单独设置或与比例取较大值。</span>
</label>

<label class="control-block reserve-ratio-block policy-block" id="reserve-ratio-block">
<span data-i18n="reservedCashRatio">预留现金比例</span>
<input id="reserved-cash-ratio-input" type="number" inputmode="decimal" min="0" max="1" step="0.01">
<span class="selection-meta" data-i18n="reservedCashRatioMeta">例如 0.03 表示 3%。</span>
</label>
</div>
</div>

Expand Down Expand Up @@ -3809,8 +3775,6 @@ <h2 data-i18n="summary">切换摘要</h2>
el("reserve-policy-block").classList.toggle("policy-block-muted", marginBlocksReserve);
el("min-reserve-block").classList.toggle("policy-block-muted", marginBlocksReserve);
el("reserve-ratio-block").classList.toggle("policy-block-muted", marginBlocksReserve);
el("reserve-policy-stack").classList.toggle("policy-stack-muted", marginBlocksReserve);
el("reserve-amounts-row").classList.toggle("policy-stack-muted", marginBlocksReserve);
el("reserve-policy-mode-meta").textContent = marginBlocksReserve
? t("executionCashMarginBlocksReserve")
: t("reservedCashModeMeta");
Expand Down
2 changes: 1 addition & 1 deletion web/strategy-switch-console/page_asset.js

Large diffs are not rendered by default.

Loading