public void Clear() { ChartAsks.Clear(); ChartBids.Clear(); ChartAggregatedAsks.Clear(); ChartAggregatedBids.Clear(); Asks = null; Bids = null; TopAsks = null; TopBids = null; }
public void Update(List <OrderBookPriceLevel> asks, List <OrderBookPriceLevel> bids) { this.asks = asks.OrderByDescending(a => a.Price).ToList(); this.bids = bids.OrderByDescending(b => b.Price).ToList(); if (ChartAsks.Any()) { UpdateChartValues(ChartAsks, asks, true); } else { ChartAsks = new ChartValues <OrderBookPriceLevel>(asks.OrderBy(a => a.Price)); } if (ChartBids.Any()) { UpdateChartValues(ChartBids, bids, false); } else { ChartBids = new ChartValues <OrderBookPriceLevel>(bids.OrderByDescending(b => b.Price)); } var aggregatedAsks = GetAggregatedList(asks.OrderBy(a => a.Price).ToList()); if (ChartAggregatedAsks.Any()) { UpdateChartValues(ChartAggregatedAsks, aggregatedAsks, true); } else { ChartAggregatedAsks = new ChartValues <OrderBookPriceLevel>(aggregatedAsks.OrderBy(a => a.Price)); } var aggregatedBids = GetAggregatedList(bids.OrderByDescending(a => a.Price).ToList()); if (ChartAggregatedBids.Any()) { UpdateChartValues(ChartAggregatedBids, aggregatedBids, false); } else { ChartAggregatedBids = new ChartValues <OrderBookPriceLevel>(aggregatedBids.OrderByDescending(b => b.Price)); } OnPropertyChanged("TopAsks"); OnPropertyChanged("TopBids"); }