public void NewOrder(Common.StockExchange.Types.StockExchange stockExchange, string currency) { //AccountBalance accountBalance = new AccountBalance(stockExchange.ToString()); BaseRequest baseRequest = new BaseRequest("/v1/order/new", GetNonce()); string response = SendRequest(baseRequest, "POST"); JArray resultsJson = JsonConvert.DeserializeObject <JArray>(response); foreach (JToken ticker in resultsJson) { //string account = ticker["type"].ToString(); //string currencyTicker = ticker["currency"].ToString().ToUpper(); //decimal availableBalance = Convert.ToDecimal(ticker["available"]); //decimal amountBalance = Convert.ToDecimal(ticker["amount"]); //if(currencyTicker.Equals(currency)) //{ // //accountBalance.Balances.Add(new Balance(account, currencyTicker, availableBalance, amountBalance)); //} } }
public async Task <string> GetSelectedPairs(Common.StockExchange.Types.StockExchange stockExchange, string pairs, List <string> selectedPairs) { StringBuilder stringBuilder = new StringBuilder(); string results = string.Empty; await Task.Run(() => { if (selectedPairs.Count > 0) { switch (stockExchange) { case Common.StockExchange.Types.StockExchange.Bitfinex: foreach (string pair in pairs.Split(',')) { foreach (string selectedPair in selectedPairs) { if (pair.TrimStart('t').Equals(selectedPair.Replace("/", string.Empty))) { stringBuilder = stringBuilder.Append(pair).Append(","); } } } results = stringBuilder.ToString().TrimEnd(','); break; case Common.StockExchange.Types.StockExchange.Bitstamp: foreach (string selectedPair in selectedPairs) { foreach (string pair in pairs.Split(',')) { if (pair.Equals(selectedPair.Replace("/", string.Empty).ToLower())) { stringBuilder = stringBuilder.Append(pair).Append(","); } } } results = stringBuilder.ToString().TrimEnd(','); break; case Common.StockExchange.Types.StockExchange.Gdax: foreach (string selectedPair in selectedPairs) { foreach (string pair in pairs.Split(',')) { if (pair.Equals(selectedPair.Replace("/", "-"))) { stringBuilder = stringBuilder.Append(pair).Append(","); } } } results = stringBuilder.ToString().TrimEnd(','); break; case Common.StockExchange.Types.StockExchange.Gemini: foreach (string selectedPair in selectedPairs) { foreach (string pair in pairs.Split(',')) { if (pair.Equals(selectedPair.Replace("/", string.Empty).ToLower())) { stringBuilder = stringBuilder.Append(pair).Append(","); } } } results = stringBuilder.ToString().TrimEnd(','); break; case Common.StockExchange.Types.StockExchange.QuadrigaCx: foreach (string selectedPair in selectedPairs) { foreach (string pair in pairs.Split(',')) { if (pair.Replace("_cad", "_usd").Equals(selectedPair.Replace("/", "_").ToLower())) { stringBuilder = stringBuilder.Append(pair).Append(","); } } } results = stringBuilder.ToString().TrimEnd(','); break; case Common.StockExchange.Types.StockExchange.Kraken: foreach (string selectedPair in selectedPairs) { foreach (string pair in pairs.Split(',')) { if (pair.Replace("XBT", "BTC").Replace("DASH", "DSH").Equals(selectedPair.Replace("/", string.Empty))) { stringBuilder = stringBuilder.Append(pair).Append(","); } } } results = stringBuilder.ToString().TrimEnd(','); break; } } else { results = pairs; } }); return(results); }
public async Task <ITickers> GetTicker([FromBody] CompositeStockExchangeObject compositeStockExchangeObject) { decimal exchangeRate = compositeStockExchangeObject.ExchangeRate; Common.StockExchange.Types.StockExchange selectedStockExchange = compositeStockExchangeObject.StockExchange; string selectedPairs = compositeStockExchangeObject.SelectedPairs; IStockExchanges stockExchanges; switch (selectedStockExchange) { case Common.StockExchange.Types.StockExchange.Binance: stockExchanges = new Binance(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Bitfinex: stockExchanges = new Bitfinex(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Bitmex: stockExchanges = new Bitmex(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Bitstamp: stockExchanges = new Bitstamp(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Bittrex: stockExchanges = new Bittrex(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Cex: stockExchanges = new Cex(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Exmo: stockExchanges = new Exmo(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Gdax: stockExchanges = new Gdax(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Gemini: stockExchanges = new Gemini(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Kraken: stockExchanges = new Kraken(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.Poloniex: stockExchanges = new Poloniex(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); case Common.StockExchange.Types.StockExchange.QuadrigaCx: stockExchanges = new QuadrigaCx(); return(await stockExchanges.GetTickers(selectedPairs, exchangeRate)); default: throw new NullStockExchangeException("Invalid StockExchange Selection"); } }