initialize method

Future<void> initialize()

Loads initial historical data and establishes real-time tick ingestion.

Implementation

Future<void> initialize() async {
  _isLoading = true;
  notifyListeners();

  try {
    final historical = await dataSource.getHistoricalData(
      symbol: _symbol,
      timeframe: _timeframe,
      count: 500,
    );
    _candleBuilder.setCandles(historical);
    _recalculateIndicators();

    // Listen to real-time live ticks
    _tickSubscription?.cancel();
    _tickSubscription = dataSource.getLiveTicks(_symbol).listen(_onLiveTick);
  } catch (e) {
    debugPrint('Error loading chart data: $e');
  } finally {
    _isLoading = false;
    notifyListeners();
  }
}