initialize method
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();
}
}