Exemplo n.º 1
0
        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;
                }
            }
        }
Exemplo n.º 2
0
        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;
                }
            }
        }