|
|
|
@ -462,9 +462,19 @@ function calcPriceChangePercent(current, target) {
|
|
|
|
|
|
|
|
|
|
|
|
function updateStats(data) {
|
|
|
|
function updateStats(data) {
|
|
|
|
const total = data.length;
|
|
|
|
const total = data.length;
|
|
|
|
const upCount = data.filter(d => d.change > 0).length;
|
|
|
|
|
|
|
|
const downCount = data.filter(d => d.change < 0).length;
|
|
|
|
// 根据AI分析结果统计趋势(字符串包含判断)
|
|
|
|
const neutralCount = total - upCount - downCount;
|
|
|
|
const upCount = data.filter(d =>
|
|
|
|
|
|
|
|
d.suggestion?.includes('做多') || d.suggestion?.includes('试多')
|
|
|
|
|
|
|
|
).length;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const downCount = data.filter(d =>
|
|
|
|
|
|
|
|
d.suggestion?.includes('做空') || d.suggestion?.includes('试空')
|
|
|
|
|
|
|
|
).length;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const neutralCount = data.filter(d =>
|
|
|
|
|
|
|
|
d.suggestion?.includes('观望')
|
|
|
|
|
|
|
|
).length;
|
|
|
|
|
|
|
|
|
|
|
|
document.getElementById('total-count').textContent = total;
|
|
|
|
document.getElementById('total-count').textContent = total;
|
|
|
|
document.getElementById('up-count').textContent = upCount;
|
|
|
|
document.getElementById('up-count').textContent = upCount;
|
|
|
|
@ -474,6 +484,27 @@ function updateStats(data) {
|
|
|
|
document.getElementById('count-watched').textContent = watchedSymbols.length;
|
|
|
|
document.getElementById('count-watched').textContent = watchedSymbols.length;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function filterByTrend(trend) {
|
|
|
|
|
|
|
|
console.log('按趋势筛选:', trend);
|
|
|
|
|
|
|
|
let filtered = allFuturesData;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (trend === 'up') {
|
|
|
|
|
|
|
|
filtered = allFuturesData.filter(d =>
|
|
|
|
|
|
|
|
d.suggestion?.includes('做多') || d.suggestion?.includes('试多')
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
} else if (trend === 'down') {
|
|
|
|
|
|
|
|
filtered = allFuturesData.filter(d =>
|
|
|
|
|
|
|
|
d.suggestion?.includes('做空') || d.suggestion?.includes('试空')
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
} else if (trend === 'neutral') {
|
|
|
|
|
|
|
|
filtered = allFuturesData.filter(d =>
|
|
|
|
|
|
|
|
d.suggestion?.includes('观望')
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
renderFuturesGrid(filtered);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function filterFuturesList(keyword) {
|
|
|
|
function filterFuturesList(keyword) {
|
|
|
|
keyword = keyword.toLowerCase();
|
|
|
|
keyword = keyword.toLowerCase();
|
|
|
|
const activeTab = document.querySelector('.filter-tab.active');
|
|
|
|
const activeTab = document.querySelector('.filter-tab.active');
|
|
|
|
|