fix: 市场筛选语义修正(港股筛选只显示港股)+当前徽章仅A股v7.1+港股版本沉底排序——v7.1身份不再被港股分身混淆
This commit is contained in:
+11
-2
@@ -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 + '\')">' +
|
||||
|
||||
Reference in New Issue
Block a user