private void BitMex_TradesReceived(object sender, CollectionReceivedEventArgs <BitMexTrade> e) { var i = Instruments.FirstOrDefault(m => m.Id == e.Data[0].InstrumentId); if (i != null) { i.LastError = null; lock (Trades) { foreach (var m in e.Data) { Trades.Add(new TradeEntry(e.Action, i, m)); } const int MAX = 100; while (Trades.Count > 100) { Trades.RemoveAt(Trades.Count - 1 - MAX); } } } }