private void OnNewBestBuySell(Level2Item bestsell, Level2Item bestbuy) { if (SpreadItems.Count == 0) { Dispatcher.Invoke(() => SpreadItems.Insert(0, new SpreadItem { Bid = bestsell.Price, Ask = bestbuy.Price, BSize = bestsell.Quantity, ASize = bestbuy.Quantity })); } else { var item = new SpreadItem { Bid = bestsell.Price, Ask = bestbuy.Price, BSize = bestsell.Quantity, ASize = bestbuy.Quantity }; if (item.CompareTo(SpreadItems.First())) { return; } Dispatcher.Invoke(() => SpreadItems.Insert(0, item)); } }
public void SetSecurity(string board, string seccode) { Level2DataHandler.NewBestBuySell -= OnNewBestBuySell; Dispatcher.Invoke(() => SpreadItems.Clear()); Board = board; Seccode = seccode; Level2DataHandler.NewBestBuySell += OnNewBestBuySell; }