show indicator params like MA(44) in active list and analysis panel

This commit is contained in:
DiTus
2026-03-02 10:36:03 +01:00
parent ece1e8b56a
commit c2f92cc5fb
3 changed files with 17 additions and 8 deletions

View File

@ -605,11 +605,20 @@ renderTA() {
const signalIcon = indSignal.signal === 'buy' ? '🟢' : indSignal.signal === 'sell' ? '🔴' : '⚪'; const signalIcon = indSignal.signal === 'buy' ? '🟢' : indSignal.signal === 'sell' ? '🔴' : '⚪';
const signalColor = indSignal.signal === 'buy' ? '#26a69a' : indSignal.signal === 'sell' ? '#ef5350' : '#787b86'; const signalColor = indSignal.signal === 'buy' ? '#26a69a' : indSignal.signal === 'sell' ? '#ef5350' : '#787b86';
const lastSignalDate = indSignal.lastSignalDate ? formatDate(indSignal.lastSignalDate * 1000) : '-'; const lastSignalDate = indSignal.lastSignalDate ? formatDate(indSignal.lastSignalDate * 1000) : '-';
const paramsStr = indSignal.params ? `(${indSignal.params})` : '';
// Format params as "MA(44)" style
let paramsStr = '';
if (indSignal.params) {
const paramPairs = indSignal.params.split(',').map(p => {
const [key, val] = p.split('=');
return key === 'period' || key === 'maType' ? val : `${key}:${val}`;
});
paramsStr = `(${paramPairs.join(',')})`;
}
return ` return `
<div class="ta-ma-row" style="border-bottom: none; padding: 6px 0; align-items: center;"> <div class="ta-ma-row" style="border-bottom: none; padding: 6px 0; align-items: center;">
<span class="ta-ma-label">${indSignal.name} ${paramsStr}</span> <span class="ta-ma-label">${indSignal.name}${paramsStr}</span>
<span class="ta-ma-value" style="display: flex; align-items: center; gap: 8px;"> <span class="ta-ma-value" style="display: flex; align-items: center; gap: 8px;">
<span style="font-size: 11px; padding: 2px 8px; min-width: 60px; text-align: center; background: ${signalColor}; color: white; border-radius: 3px;">${signalIcon} ${indSignal.signal.toUpperCase()}</span> <span style="font-size: 11px; padding: 2px 8px; min-width: 60px; text-align: center; background: ${signalColor}; color: white; border-radius: 3px;">${signalIcon} ${indSignal.signal.toUpperCase()}</span>
<span style="font-size: 10px; color: var(--tv-text-secondary);">${lastSignalDate}</span> <span style="font-size: 10px; color: var(--tv-text-secondary);">${lastSignalDate}</span>

View File

@ -49,14 +49,14 @@ function getIndicatorLabel(indicator) {
const meta = getIndicatorMeta(indicator); const meta = getIndicatorMeta(indicator);
if (!meta) return indicator.name; if (!meta) return indicator.name;
// Always show params in parentheses (e.g., "MA(44)" or "MA(SMA,44)")
const paramParts = meta.inputs.map(input => { const paramParts = meta.inputs.map(input => {
const val = indicator.params[input.name]; const val = indicator.params[input.name];
if (val !== undefined && val !== input.default) return val; return val !== undefined ? val : input.default;
return null; });
}).filter(v => v !== null);
if (paramParts.length > 0) { if (paramParts.length > 0) {
return `${indicator.name} (${paramParts.join(', ')})`; return `${indicator.name}(${paramParts.join(',')})`;
} }
return indicator.name; return indicator.name;
} }

View File

@ -311,8 +311,8 @@ export function calculateAllIndicatorSignals() {
params: indicator.params && typeof indicator.params === 'object' params: indicator.params && typeof indicator.params === 'object'
? Object.entries(indicator.params) ? Object.entries(indicator.params)
.filter(([k, v]) => !k.startsWith('_') && v !== undefined && v !== null) .filter(([k, v]) => !k.startsWith('_') && v !== undefined && v !== null)
.map(([k, v]) => `${k}=${v}`) .map(([k, v]) => `${v}`)
.join(', ') .join(',')
: null, : null,
type: indicator.type, type: indicator.type,
signal: currentSignal.type, signal: currentSignal.type,