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


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.mainSymbolTicker$
      .pipe(distinctUntilChanged())
      .subscribe((symbolTicker) => {
        this.lwcSeries.applyOptions({
          title: this.showSymbolLabel
            ? symbolTicker
            : '',
        });
      }),
  );

  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);
            },
          );
      }),
  );
};