private void init() { data = new List <PriseData>(); locker = new Object(); Trades_id = new List <string>(); MaxData = new PriseData(); minPrice = Decimal.MaxValue; }
public List <PriseData> data; // { get; set; } = new List<PriseData>(); /// <summary> /// Добавление данных в колекцию /// </summary> public void addTrade(Trade trade) { /* * lock (locker) * { * if (trade.Id == "") * { * trade.Id = new_trade_num.ToString(); * //запоминаем id сделки * Trades_id.Add(trade.Id); * } * else if (!isNewTrade(trade)) * { * return; * } * } */ //дозаполняем накопленные цены PriseData pd; lock (locker) { pd = data.Find(x => x.Price == trade.Price); } if (pd == null) { pd = new PriseData(); pd.Price = trade.Price; lock (locker) { data.Add(pd); } } pd.Add(trade); lock (locker) { if (MaxData.volume < pd.volume) { MaxData = pd; } if (pd.Price > maxPrice) { maxPrice = pd.Price; } if (pd.Price < minPrice) { minPrice = pd.Price; } ClasterBody = maxPrice - minPrice; } }