public OrderBook OrderBook(Pair pair, int depth, OrderBookType orderBookType) { OrderBook result = null; var parameters = new Tuple <string, string> [3]; parameters[0] = new Tuple <string, string>("market", BittrexPairs.AsString(pair)); parameters[1] = new Tuple <string, string>("type", orderBookType.AsString()); parameters[2] = new Tuple <string, string>("depth", depth.ToString()); if (orderBookType == OrderBookType.Both) { var query = Connection.PublicGetQuery <BittrexOrderBookDataType>(EndPoints.GetOrderBook, parameters); if (query.Success) { result = query.ToOrderBook(pair); } } else { var query = Connection.PublicGetQuery <BittrexOrderBookOneSideDataType>(EndPoints.GetOrderBook, parameters); if (query.Success) { result = query.ToOrderBook(pair, orderBookType); } } return(result); }
public GetOrderBookResponse GetOrderBook(string market, OrderBookType type, int depth = 20) { if (type == OrderBookType.Both) { return(this.Call <GetOrderBookResponse>(ApiCallGetOrderBook, Tuple.Create("market", GetMarketName(market)), Tuple.Create("type", type.ToString().ToLower()), Tuple.Create("depth", depth.ToString()))); } else { var results = this.Call <List <OrderEntry> >(ApiCallGetOrderBook, Tuple.Create("market", GetMarketName(market)), Tuple.Create("type", type.ToString().ToLower()), Tuple.Create("depth", depth.ToString())); if (type == OrderBookType.Buy) { return(new GetOrderBookResponse { buy = results }); } else { return(new GetOrderBookResponse { sell = results }); } } }
//public/getorderbook public OrderBook GetOrderBook(string pair, OrderBookType type) { string json = ""; if (type == OrderBookType.Buy) { json = getPublicRequest("/public/getorderbook", "?market=" + pair, "&type=buy"); } if (type == OrderBookType.Sell) { json = getPublicRequest("/public/getorderbook", "?market=" + pair, "&type=sell"); } if (type == OrderBookType.Both) { json = getPublicRequest("/public/getorderbook", "?market=" + pair, "&type=both"); } OrderBookRequest obr = JsonConvert.DeserializeObject <OrderBookRequest>(json); if (obr.success) { return(obr.result); } Exception e = new Exception(obr.message); throw e; }
public PushMessage(string message, string currency = "", OrderBookType orderType = OrderBookType.Both) { Message = message; Currency = currency; OrderType = orderType; Timestamp = DateTime.UtcNow.ToString("F"); }
public OrderBook OrderBook(Pair pair, int depth = 10, OrderBookType orderBookType = OrderBookType.Both) { var result = new OrderBook(pair); var rnd = new Random(); var startPrice = rnd.NextDouble(); var asks = new List <OrderBookPart>(); for (var i = 0; i < depth; i++) { var step = rnd.NextDouble(); asks.Add(new OrderBookPart(startPrice + step, rnd.NextDouble())); } var bids = new List <OrderBookPart>(); for (var i = 0; i < depth; i++) { var step = rnd.NextDouble(); bids.Add(new OrderBookPart(startPrice - step, rnd.NextDouble())); } result.ReplaceAsk(asks); result.ReplaceBids(bids); return(result); }
public async Task <GetOrderBookResponse> GetOrderBook(string market, OrderBookType type, int depth = 20) { if (type == OrderBookType.Both) { return(await this.Call <GetOrderBookResponse>(ApiCallGetOrderBook, ("market", GetMarketName(market)), ("type", type.ToString().ToLower()), ("depth", depth.ToString()))); } else { var results = await this.Call <List <OrderEntry> >(ApiCallGetOrderBook, ("market", GetMarketName(market)), ("type", type.ToString().ToLower()), ("depth", depth.ToString())); if (type == OrderBookType.Buy) { return(new GetOrderBookResponse { Buy = results }); } else { return(new GetOrderBookResponse { Sell = results }); } } }
public static string AsString(this OrderBookType orderBookType) { switch (orderBookType) { case OrderBookType.Buy: return("buy"); case OrderBookType.Sell: return("sell"); case OrderBookType.Both: return("both"); default: throw new ArgumentOutOfRangeException(nameof(orderBookType), orderBookType, null); } }
public OrderBook OrderBook(Pair pair, int depth, OrderBookType orderBookType) { var parameters = new Tuple <string, string> [3]; parameters[0] = new Tuple <string, string>(EndPoints.CommandTag, EndPoints.GetOrderBook); parameters[1] = new Tuple <string, string>("currencyPair", PoloniexPairs.AsString(pair)); parameters[2] = new Tuple <string, string>("depth", depth.ToString()); var query = Connection.PublicGetQuery <PoloniexOrderBookDataType>(EndPoints.Public, parameters); var result = query.ToOrderBook(pair); if (orderBookType == OrderBookType.Buy) { result.ReplaceBids(null); } if (orderBookType == OrderBookType.Sell) { result.ReplaceAsk(null); } return(result); }
public static OrderBook ToOrderBook(this BittrexOrderBookOneSideDataType orderBookDataType, Pair pair, OrderBookType orderBookType) { var result = new OrderBook(pair); var prices = orderBookDataType.Prices.Select(price => new OrderBookPart(price.Price, price.Quantity)); if (orderBookType == OrderBookType.Sell) { result.ReplaceAsk(prices); } else { result.ReplaceBids(prices); } return(result); }
public OrderBookUpdaterParameters(int depth, OrderBookType orderBookType) { Depth = depth; OrderBookType = orderBookType; }
public async Task <Data.Response <Data.Stock.OrderBook> > GetOrderBookAsync(string sMarket, OrderBookType book, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { string sMethodUrl = GetMethodUrl(Properties.Settings.Default.MethodGetOrderBook); string sRequestUrl = $"{sMethodUrl}?market={HttpUtility.UrlEncode(sMarket)}&type={book}"; string sResponse = await SendRequestAsync(sRequestUrl, false, cancellationToken); return(Newtonsoft.Json.JsonConvert.DeserializeObject <Data.Response <Data.Stock.OrderBook> >(sResponse)); }