예제 #1
0
 public CandlesReceivedEventArgs(MarketFeedSettings settings, TimeSeries series, CandleSource candleSource)
 {
     MarketFeedSettings = settings;
     TimeSeries         = series;
     CandleSource       = candleSource;
 }
        private async Task LoadStoredCandles(CandleMonitorData candleMonitorData, DateTime?from, CandleSource candleSource)
        {
            // Pre load anything we've already got and fire it off on the event
            var series = await candleMonitorData.DataSource.Load(from);

            // Fire the new candles event
            _logger.LogTrace("{settings} CandleMonitor.StartupAsync firing CandlesReceivedEvent for source {candleSource}", candleMonitorData.Settings, candleSource);

            try
            {
                _candleProducer.Send(new CandlesReceivedEventArgs(candleMonitorData.Settings, series, candleSource));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "{settings} CandleMonitor.StartupAsync.OnCandlesReceived threw an error", candleMonitorData.Settings);
            }
        }