/// <summary> /// Get converted Order Book /// </summary> /// <param name="pair">Trading pair</param> /// <returns>OrderBook object</returns> public static async Task <OrderBook> GetOrderBookConverted(this ITradeOgre service, string pair) { var buys = new List <OrderBookDetail>(); var sells = new List <OrderBookDetail>(); var books = await service.GetOrderBook(pair); foreach (var buy in books.Buy) { var book = new OrderBookDetail { Quantity = buy.Key, Price = buy.Value }; buys.Add(book); } foreach (var sell in books.Sell) { var book = new OrderBookDetail { Quantity = sell.Key, Price = sell.Value }; sells.Add(book); } return(new OrderBook { Buys = buys, Sells = sells }); }
/// <summary> /// Place a Market order /// </summary> /// <param name="pair">Trading pair</param> /// <param name="side">Trade side</param> /// <param name="quantity">Order quantity</param> /// <returns>OrderResponse object</returns> public static async Task <OrderResponse> MarketOrder(this ITradeOgre service, string pair, Side side, decimal quantity) { var ticker = await service.GetTicker(pair); var order = await service.PlaceOrder(pair, side, ticker.Price, quantity); return(order); }
/// <summary> /// Get all market pairs /// </summary> /// <returns>Collection of trading pairs</returns> public static async Task <string[]> GetMarketPairs(this ITradeOgre service) { var markets = new List <string>(); var exchangeMkts = await service.GetMarkets(); foreach (var market in exchangeMkts) { markets.Add(market.Key); } return(markets.ToArray()); }
/// <summary> /// Get converted Markets /// </summary> /// <returns>Collection of Ticker objects</returns> public static async Task <List <Ticker> > GetMarketsConverted(this ITradeOgre service) { var tickers = new List <Ticker>(); var markets = await service.GetMarkets(); foreach (var market in markets) { var ticker = new Ticker(market.Value); ticker.TradingPair = market.Key; tickers.Add(ticker); } return(tickers); }
public TradeOgreTests() { IFileRepository _fileRepo = new FileRepository(); ApiCredentials creds = null; if (_fileRepo.FileExists(configPath)) { creds = _fileRepo.GetDataFromFile <ApiCredentials>(configPath); } if (creds != null || !string.IsNullOrEmpty(creds.ApiKey)) { _service = new TradeOgre(creds); } else { _service = new TradeOgre(); } }
/// <summary> /// Place a Limit order /// </summary> /// <param name="pair">Trading pair</param> /// <param name="side">Trade side</param> /// <param name="price">Order price</param> /// <param name="quantity">Order quantity</param> /// <returns>OrderResponse object</returns> public static async Task <OrderResponse> LimitOrder(this ITradeOgre service, string pair, Side side, decimal price, decimal quantity) { var order = await service.PlaceOrder(pair, side, price, quantity); return(order); }
public void Dispose() { _service = null; }