fix: 市场筛选语义修正(港股筛选只显示港股)+当前徽章仅A股v7.1+港股版本沉底排序——v7.1身份不再被港股分身混淆

This commit is contained in:
hmo
2026-07-29 11:32:06 +08:00
parent bdb5cadf17
commit a1090c17e0
+11 -2
View File
@@ -1950,7 +1950,9 @@ async function loadStrategyList() {
if (data.error) { listEl.innerHTML = '<div class="text-red-400">' + data.error + '</div>'; return; }
const mkt = document.getElementById('btMarket')?.value || 'all';
let strats = data.strategies || [];
if (mkt !== 'all') strats = strats.filter(s => (s.market || 'all') === mkt || (s.market || 'all') === 'all');
// 市场语义:'all'=未分市场的A股回测(港股回填前跑的),'hk'=港股宇宙,'a'=显式A股
if (mkt === 'hk') strats = strats.filter(s => (s.market || 'all') === 'hk');
else if (mkt === 'a') strats = strats.filter(s => (s.market || 'all') !== 'hk');
renderStrategyTable(strats);
} catch(e) {
listEl.innerHTML = '<div class="text-red-400">加载失败: ' + e.message + '</div>';
@@ -1960,6 +1962,13 @@ async function loadStrategyList() {
function renderStrategyTable(strategies) {
const el = document.getElementById('strategyList');
if (!strategies.length) { el.innerHTML = '<div class="text-slate-500">暂无策略版本</div>'; return; }
// 非港股版本在前,港股分身沉底且同版本内非港在前(2026-07-29 老爸:v7.1身份不被港股分身混淆)
strategies.sort((a, b) => {
const am = (a.market || 'all') === 'hk' ? 1 : 0;
const bm = (b.market || 'all') === 'hk' ? 1 : 0;
if (am !== bm) return am - bm;
return (a.version || '').localeCompare(b.version || '');
});
// 找每列最优值用于高亮
const best = { win_rate: -999, sharpe_ratio: -999, profit_factor: -999, avg_profit_pct: -999,
total_return_pct: -999, cagr_pct: -999, portfolio_max_dd_pct: 999 };
@@ -2036,7 +2045,7 @@ function renderStrategyTable(strategies) {
const pf = st.portfolio || {};
const hasResult = st.total_trades != null;
const smallSample = hasResult && st.total_trades < 40;
const isCurrent = s.version === CURRENT_STRATEGY;
const isCurrent = s.version === CURRENT_STRATEGY && (s.market || 'all') !== 'hk';
const retCls = pf.total_return_pct == null ? '' : (pf.total_return_pct >= 0 ? 'text-green-400' : 'text-red-400');
const rowCls = 'border-b border-slate-800/50 hover:bg-slate-800/30 cursor-pointer' + (isCurrent ? ' bg-emerald-900/20 border-l-2 border-l-emerald-400' : '');
html += '<tr class="' + rowCls + '" onclick="showStrategyDetail(\'' + s.version + '\')">' +