protected override void OnClose(object sender, CloseEventArgs e) { var obj = new XBtcResponseResult(); if (_btcOrderBookHandler != null) { _btcOrderBookHandler(this, new OrderBookEventArgs(obj)); } if (_ltcOrderBookHandler != null) { _ltcOrderBookHandler(this, new OrderBookEventArgs(obj)); } if (_bchOrderBookHandler != null) { _bchOrderBookHandler(this, new OrderBookEventArgs(obj)); } if (_ethOrderBookHandler != null) { _ethOrderBookHandler(this, new OrderBookEventArgs(obj)); } if (_dashOrderBookHandler != null) { _dashOrderBookHandler(this, new OrderBookEventArgs(obj)); } }
public OrderBookEventArgs(XBtcResponseResult response) : this() { Action <XBtcOrder[]> initAsks = orders => { if (orders != null) { OrderBook.Asks = new Order[orders.Length]; for (int i = 0; i < orders.Length; i++) { OrderBook.Asks[i] = new Order { Price = orders[i].Price, Amount = orders[i].Volume } } ; } }; Action <XBtcOrder[]> initBids = orders => { if (orders != null) { OrderBook.Bids = new Order[orders.Length]; for (int i = 0; i < orders.Length; i++) { OrderBook.Bids[i] = new Order { Price = orders[i].Price, Amount = orders[i].Volume } } ; } }; OrderBook = new OrderBook(); if (response.Snapshot != null) { initAsks(response.Snapshot[0].Asks); initBids(response.Snapshot[0].Bids); } else { initAsks(response.Asks); initBids(response.Bids); } } public OrderBookEventArgs(BinanceOrderBook binance, string symbol = null) : this() { OrderBook = new OrderBook(); if (symbol != null) { Instrument2 = ParseSymbol(symbol)[1]; } if (binance.Data.Bids != null) { OrderBook.Bids = new Order[binance.Data.Bids.Length]; for (int i = 0; i < binance.Data.Bids.Length; i++) { OrderBook.Bids[i] = new Order { Price = Double.Parse(binance.Data.Bids[i][0].ToString()), Amount = Double.Parse(binance.Data.Bids[i][1].ToString()) } } ; } if (binance.Data.Asks != null) { OrderBook.Asks = new Order[binance.Data.Asks.Length]; for (int i = 0; i < binance.Data.Asks.Length; i++) { OrderBook.Asks[i] = new Order { Price = Double.Parse(binance.Data.Asks[i][0].ToString()), Amount = Double.Parse(binance.Data.Asks[i][1].ToString()) } } ; } }