Пример #1
0
        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));
            }
        }
Пример #2
0
        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())
                    }
                }
                ;
            }
        }