Пример #1
0
 /// <summary>
 /// LimitOrderBook constructor
 /// </summary>
 /// <param name="symbol">Security symbol</param>
 /// <param name="exchange">Security exchange</param>
 public LimitOrderBook(string symbol, string exchange)
 {
     Symbol   = symbol;
     Exchange = exchange;
     Bid      = new LimitOrderList(symbol, MarketSide.Bid);
     Ask      = new LimitOrderList(symbol, MarketSide.Ask);
 }
Пример #2
0
        /// <summary>
        /// Submit Spark.Event depth update event (thread-safe)
        /// </summary>
        /// <param name="eventItem">Spark event</param>
        public void SubmitEvent(Spark.Event eventItem)
        {
            LimitOrderList list = (ApiFunctions.GetMarketSide(eventItem.Flags) == MarketSide.Bid) ? Bid : Ask;

            lock (_lock)
            {
                list.SubmitEvent(eventItem);
            }
        }
Пример #3
0
        /// <summary>
        /// Returns a discrete clone of limit order list
        /// </summary>
        public LimitOrderList Clone()
        {
            LimitOrderList result = new LimitOrderList(Symbol, Side);

            foreach (LimitOrder orderItem in this)
            {
                result.Add(orderItem.Clone());
            }
            return(result);
        }