private void UpdateMonitoringParameters(OrderReply order) { Stock stock = _venue.GetStock(order.Symbol); Direction direction = Utils.GetDirection(order.Direction); MonitoringParameter parameter; Dictionary <Direction, MonitoringParameter> parameterSides; if (!_monitoringParameters.TryGetValue(stock, out parameterSides)) { parameter = new MonitoringParameter(); parameter.Update(order); parameterSides = new Dictionary <Direction, MonitoringParameter> { { direction, parameter } }; _monitoringParameters.Add(stock, parameterSides); } else { if (!parameterSides.TryGetValue(direction, out parameter)) { parameter = new MonitoringParameter(); parameter.Update(order); parameterSides.Add(direction, parameter); } else { parameter.Update(order); _monitoringParameters[stock][direction] = parameter; } } }
private void UpdateMonitoringParameters(GetQuoteReply quote) { Stock stock = _venue.GetStock(quote.Symbol); MonitoringParameter parameter; Dictionary <Direction, MonitoringParameter> parameterSides; if (!_monitoringParameters.TryGetValue(stock, out parameterSides)) { parameter = new MonitoringParameter(); parameter.Update(quote); parameterSides = new Dictionary <Direction, MonitoringParameter> { { Direction.Buy, parameter }, { Direction.Sell, parameter } }; _monitoringParameters.Add(stock, parameterSides); } else { Direction direction = Direction.Buy; if (!parameterSides.TryGetValue(direction, out parameter)) { parameter = new MonitoringParameter(); parameter.Update(quote); parameterSides.Add(direction, parameter); } else { parameter.Update(quote); _monitoringParameters[stock][direction] = parameter; } direction = Direction.Sell; if (!parameterSides.TryGetValue(direction, out parameter)) { parameter = new MonitoringParameter(); parameter.Update(quote); parameterSides.Add(direction, parameter); } else { parameter.Update(quote); _monitoringParameters[stock][direction] = parameter; } } }