Загрузка данных


Нашёл причину бага со старым названием инструмента в легенде. Проблема в TradeRadarChart при восстановлении snapshot из localStorage.
Сейчас вы обновляете только:
savedSnapshot.charts[0].symbol = currentSymbol;
savedSnapshot.charts[0].symbolId = currentSymbol;
при этом symbolName остаётся от предыдущего инструмента. Поэтому в snapshot в итоге может быть symbolId: 'SP500F', а symbolName: 'IMOEXF', и легенда показывает старое значение.

Здесь лучше при восстановлении явно обновлять весь набор данных инструмента:
savedSnapshot.charts[0].symbolId = currentSymbol;
savedSnapshot.charts[0].symbol = currentSymbol;
savedSnapshot.charts[0].symbolName = currentSymbol;
Если у вас отдельно есть актуальные symbol и symbolName, то, соответственно, подставлять их вместо currentSymbol. Главное чтобы все три значения брались от текущего инструмента, а не часть оставалась из сохранённого snapshot.


Ещё в saveSnapshot сейчас вручную пересобирается практически весь snapshot:
const savedData = JSON.stringify({
  ...snapshot,
  charts: snapshot.charts.map(...)
});
При этом getSnapshot() уже возвращает готовый snapshot, поэтому если дополнительная фильтрация больше не нужна, можно сохранять просто:
const savedData = JSON.stringify(snapshot);