Beispiel #1
0
        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);
                    }
                }
            }
        }