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


protected subscribeDataSource = (dataSource: DataSource): void => {
  const minMove = getPricePrecisionStep();

  this.lwcSeries.applyOptions({
    priceFormat: {
      type: 'custom',
      minMove,
      formatter: (price: number) => formatPrice(price) ?? String(price),
    },
  });

  this.subscriptions.add(
    this.mainSymbolName$.pipe(distinctUntilChanged()).subscribe((symbolName) => {
      this.lwcSeries.applyOptions({
        title: this.showSymbolLabel ? symbolName : '',
      });
    }),
  );

  this.subscriptions.add(
    this.mainSymbol$.pipe(distinctUntilChanged()).subscribe((symbol) => {
      this.dataSub?.unsubscribe();
      this.realtimeSub?.unsubscribe();

      this.dataSub = dataSource.subscribe(symbol, (next) => {
        this.dataSourceSubscription(next);
      });

      this.realtimeSub = dataSource.subscribeRealtime(symbol, (next: Candle) => {
        this.dataSourceRealtimeSubscription(next);
      });
    }),
  );
};