Example #1
0
        internal void AddLimitOrder(ILimitOrder limitOrder)
        {
            var limitOrderAction = limitOrder.OrderAction();
            var orderBookLine    = _orderBookLines.FirstOrDefault(itm => itm.OrderAction == limitOrderAction && AssetPair.PricesAreTheSame(itm.Price, limitOrder.Price));

            if (orderBookLine == null)
            {
                orderBookLine = OrderBookLine.Create(limitOrder.Price, limitOrder.RemainingVolume, limitOrderAction);
                _orderBookLines.Add(orderBookLine);
            }
            else
            {
                orderBookLine.Volume += limitOrder.RemainingVolume;
            }
        }