private void NewTickTimer(object sender, ElapsedEventArgs e) { _timer.Stop(); foreach (var security in Generators) { NewTick?.Invoke(security.Value.GenerateNewTick()); } _timer.Start(); }
private void Api_OnTickerUpdate(object sender, Quote e) { if (NewTick == null) { return; } _securitiesById.TryGetValue(e.Id, out var instrument); if (instrument == null) { Logger.Warning($"TickerUpdate: available {Name} instruments list does not contain {e.Id}", null); return; } var time = DateTime.UtcNow; var prevTime = DateTime.MinValue; if (!_tickTimestamps.TryGetValue(instrument.Symbol, out prevTime) || prevTime < time) { _tickTimestamps[instrument.Symbol] = time; NewTick?.Invoke(GetCombinedTick(instrument, e, time)); } }
private void OnNewTick(ModelEventArgs args) => NewTick?.Invoke(this, args);
private void OnNewTick(Tick tick) => NewTick?.Invoke(this, tick);