Beispiel #1
0
        public static void Main(String[] args)
        {
            if (args.Length != 0)
            {
                Console.WriteLine("No arguments expected.");
                return;
            }

subRoutine:

            Console.Write("Market: ");

            MarketSummary sum = default(MarketSummary);

            try { sum = MarketFactory.getMarketSummary(Console.ReadLine()); }
            catch (InvalidMarketException) {
                Program.writeError("Invalid market.");
                goto subRoutine;
            }
            catch (Exception) {
                Program.writeError("An unexpected exception occurred.");
                goto subRoutine;
            }

            Console.WriteLine(Environment.NewLine +
                              "Price:      " + sum.value.ToString() + Environment.NewLine +
                              "Difference: " + ((sum.difference > 0)?"+" + sum.difference.ToString() + " (↑)":sum.difference.ToString() + " (↓)") + Environment.NewLine);

            Console.ReadKey();
            Console.Clear();

            goto subRoutine;
        }
        public static async Task <List <string> > GetTopMarketsByBVwithETHdelta(int n)
        {
            MarketSummary markets = await BtrexREST.GetMarketSummary();

            Dictionary <string, decimal> topMarketsBTC = new Dictionary <string, decimal>();
            List <string> topMarketsETH = new List <string>();

            foreach (SummaryResult market in markets.result)
            {
                string mkbase = market.MarketName.Split('-')[0];
                if (mkbase == "BTC")
                {
                    topMarketsBTC.Add(market.MarketName, market.BaseVolume);
                }
                else if (mkbase == "ETH")
                {
                    topMarketsETH.Add(market.MarketName.Split('-')[1]);
                }
            }

            List <string> mks = new List <string>();

            foreach (KeyValuePair <string, decimal> mk in topMarketsBTC.OrderByDescending(x => x.Value).Take(n))
            {
                string coin = mk.Key.Split('-')[1];
                if (topMarketsETH.Contains(coin))
                {
                    mks.Add(coin);
                }
            }

            Trace.WriteLine(string.Format("Markets: {0}", mks.Count));
            return(mks);
        }
Beispiel #3
0
        /// <summary>
        /// Used to get the last 24 hour summary of all active exchanges
        /// </summary>
        /// <returns>A List of summaries for all markets</returns>
        public static List <MarketSummary> GetMarketSummaries()
        {
            List <MarketSummary> marketSummaryList = new List <MarketSummary>();

            dynamic response = JsonConvert.DeserializeObject(HTTPMethods.HttpGet(Constants.baseUrl + "/public/getmarketsummaries"));

            if (response.success == false)
            {
                throw new Exception("Unable to get data from API: " + response.message.ToString());
            }

            foreach (var item in response.result)
            {
                MarketSummary marketSummary = new MarketSummary(
                    item.MarketName.ToString(),
                    Convert.ToDouble(item.High),
                    Convert.ToDouble(item.Low),
                    Convert.ToDouble(item.Volume),
                    Convert.ToDouble(item.Last),
                    Convert.ToDouble(item.BaseVolume),
                    Convert.ToDateTime(item.TimeStamp),
                    Convert.ToDouble(item.Bid),
                    Convert.ToDouble(item.Ask),
                    Convert.ToInt32(item.OpenBuyOrders),
                    Convert.ToInt32(item.OpenSellOrders),
                    Convert.ToDouble(item.PrevDay),
                    Convert.ToDateTime(item.Created),
                    item.DisplayMarketName
                    );

                marketSummaryList.Add(marketSummary);
            }

            return(marketSummaryList);
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            Constants.ApiKey    = "";
            Constants.SecretKey = "";


            #region PublicAPI

            //Get Markets test
            List <Market> listOfMarkets = APIMethods.GetMarkets();

            //Get all supported currencies
            List <MarketCurrency> listOfCurrencies = APIMethods.GetCurrencies();

            //Get the current tick value for the specified market
            Ticker tick = APIMethods.GetTicker("BTC-LTC");

            //Gets the summary of all markets
            List <MarketSummary> listOfMarketSummaries = APIMethods.GetMarketSummaries();

            //Gets the summary of a specificed market
            MarketSummary marketSummary = APIMethods.GetMarketSummary("BTC-LTC");

            //Gets the Order book for the specified market
            OrderBook book = APIMethods.GetOrderBook("BTC-LTC", Order.Type.both);

            List <MarketHistory> marketHistory = APIMethods.GetMarketHistory("BTC-LTC");

            #endregion


            #region MarketAPI

            //APIMethods.PlaceBuyLimitOrder("BTC-LTC", 5, 0.17);

            // APIMethods.PlaceSellLimitOrder("BTC-LTC", 5, 0.17);

            APIMethods.CancelOrder("328bd88e-537e-4979-9d8b-d2e827d1a49e");

            // List<OpenOrder> orders = APIMethods.GetOpenOrders("BTC-GRS");

            #endregion

            #region AccountAPI

            //  List<Balance> balanceList = APIMethods.GetBalances();

            Balance balance = APIMethods.GetBalance("GRS");

            //APIMethods.Withdraw("GRS", 20.23222, "Address to withdraw GRS to");

            AccountOrder accountOrder = APIMethods.GetOrder("uuid here");

            List <HistoryOrder> listOfOrderHistory = APIMethods.GetOrderHistory();

            List <HistoryOrder> listOfSpecificOrderHistory = APIMethods.GetOrderHistory("BTC-LTC");


            #endregion
        }
Beispiel #5
0
 public BittrexTicker(MarketSummary summary)
 {
     this.marketName = summary.MarketName;
     this.bid        = summary.Bid;
     this.ask        = summary.Ask;
     this.last       = summary.Last;
     this.high       = summary.High;
     this.low        = summary.Low;
     this.volume     = summary.Volume;
     this.timestamp  = summary.TimeStamp.ToCompactDateTime();
 }
        public static async Task <MarketSummary> GetMarketSummary(string delta = null)
        {
            string uri;

            if (delta == null)
            {
                uri = "public/getmarketsummaries";
            }
            else
            {
                uri = "public/getmarketsummary?market=" + delta;
            }

            MarketSummary       summary  = null;
            HttpResponseMessage response = await client.GetAsync(uri);

            if (response.IsSuccessStatusCode)
            {
                summary = await response.Content.ReadAsAsync <MarketSummary>();
            }
            return(summary);
        }
Beispiel #7
0
        // GET: ViewMarketSummaries
        public ActionResult ViewMarketSummaries()
        {
            var client  = new RestClient("https://apidojo-yahoo-finance-v1.p.rapidapi.com/market/get-summary?region=US&lang=en");
            var request = new RestRequest(Method.GET);

            request.AddHeader("x-rapidapi-host", "apidojo-yahoo-finance-v1.p.rapidapi.com");
            request.AddHeader("x-rapidapi-key", "76f8f07e34msh795619d21415bd8p1dd1bbjsnc85c615758c2");
            IRestResponse response = client.Execute(request);

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                MarketSummaryResponse marketsummary = Newtonsoft.Json.JsonConvert.DeserializeObject <MarketSummaryResponse>(response.Content);

                Result[] result = marketsummary.marketSummaryResponse.result;

                List <MarketSummary> summaries = new List <MarketSummary>();

                foreach (var item in result)
                {
                    MarketSummary summary = new MarketSummary
                    {
                        ShortName                  = item.shortName,
                        RegularMarketPrice         = item.regularMarketPrice.fmt,
                        RegularMarketChangePercent = item.regularMarketChangePercent.fmt,
                        RegularMarketChange        = item.regularMarketChange.fmt,
                        RegularMarketPreviousClose = item.regularMarketPreviousClose.fmt,
                        RegularMarketTime          = item.regularMarketTime.fmt,
                        ExchangeTimezoneName       = item.exchangeTimezoneName
                    };
                    summaries.Add(summary);
                }
                return(View(summaries));
            }
            else
            {
                return(View());
            }
        }
        public static async Task <List <string> > GetTopMarketsByBVbtcOnly(int n)
        {
            MarketSummary markets = await BtrexREST.GetMarketSummary();

            Dictionary <string, decimal> topMarketsBTC = new Dictionary <string, decimal>();

            foreach (SummaryResult market in markets.result)
            {
                string mkbase = market.MarketName.Split('-')[0];
                if (mkbase == "BTC")
                {
                    topMarketsBTC.Add(market.MarketName, market.BaseVolume);
                }
            }

            List <string> mks = new List <string>();

            foreach (KeyValuePair <string, decimal> mk in topMarketsBTC.OrderByDescending(x => x.Value).Take(n))
            {
                mks.Add(mk.Key.Split('-')[1]);
            }

            return(mks);
        }
Beispiel #9
0
        /// <summary>
        /// Used to get the last 24 hour summary of specified exchange
        /// </summary>
        /// <param name="market">requires a string literal for the market (ex: BTC-LTC)</param>
        /// <returns>The market summary for the specified market</returns>
        public static MarketSummary GetMarketSummary(string market)
        {
            dynamic response = JsonConvert.DeserializeObject(HTTPMethods.HttpGet(Constants.baseUrl + "/public/getmarketsummary?market=" + market));

            if (response.success == false)
            {
                throw new Exception("Unable to get data from API: " + response.message.ToString());
            }

            if (response.message == "INVALID_MARKET")
            {
                throw new ArgumentException("This is not a valid market. Use GetMarkets() to get a list of valid markets.");
            }

            var item = response.result[0];

            string   marketName        = item.MarketName.ToString();
            double   high              = Convert.ToDouble(item.High);
            double   low               = Convert.ToDouble(item.Low);
            double   volume            = Convert.ToDouble(item.Volume);
            double   last              = Convert.ToDouble(item.Last);
            double   baseVolume        = Convert.ToDouble(item.BaseVolume);
            DateTime timeStamp         = Convert.ToDateTime(item.TimeStamp);
            double   bid               = Convert.ToDouble(item.Bid);
            double   ask               = Convert.ToDouble(item.Ask);
            int      openBuyOrders     = Convert.ToInt32(item.OpenBuyOrders);
            int      openSellOrders    = Convert.ToInt32(item.OpenSellOrders);
            double   prevDay           = Convert.ToDouble(item.PrevDay);
            DateTime created           = Convert.ToDateTime(item.Created);
            string   displayMarketName = item.DisplayMarketName;

            MarketSummary marketSummary = new MarketSummary(marketName, high, low, volume, last, baseVolume, timeStamp, bid, ask, openBuyOrders,
                                                            openSellOrders, prevDay, created, displayMarketName);

            return(marketSummary);
        }
Beispiel #10
0
        static void Main(string[] args)
        {
            string       apiKey       = "YourApiKey";
            string       apiSecret    = "yourApiSecret";
            TradeSatoshi tradeSatoshi = new TradeSatoshi("https://tradesatoshi.com/", apiKey, apiSecret);

            while (true)
            {
                // User Prompt
                Console.WriteLine("TradeSatoshi API Demo");
                Console.WriteLine("\t1: \\GetCurrencies");
                Console.WriteLine("\t2: \\GetTicker");
                Console.WriteLine("\t3: \\GetMarketHistory");
                Console.WriteLine("\t4: \\GetMarketSummary");
                Console.WriteLine("\t5: \\GetMarketSummaries");
                Console.WriteLine("\t6: \\GetOrderBook");
                Console.WriteLine("\t7: \\GetBalance");
                Console.WriteLine("\t8: \\GetBalances");
                Console.WriteLine("\t9: \\GetOrder");
                Console.WriteLine("\t10: \\GetOrders");
                Console.WriteLine("\t11: \\SubmitOrder");
                Console.WriteLine("\t12: \\CancelOrder");
                Console.WriteLine("\t13: \\GetTradeHistory");
                Console.WriteLine("\t14: \\GenerateAddress");
                Console.WriteLine("\t15: \\SubmitWithdraw");
                Console.WriteLine("\t16: \\GetDeposits");
                Console.WriteLine("\t17: \\GetWithdrawls");
                Console.WriteLine("\t18: \\SubmitTransfer");
                Console.WriteLine("\t19: \\GetTradePairChart");
                Console.Write("\n\tOption: ");
                string option = Console.ReadLine();
                Console.WriteLine();

                switch (option)
                {
                case "1":       // GetCurrencies

                    CurrencyList[] currencyList = new CurrencyList[] { };

                    try
                    {
                        currencyList = tradeSatoshi.GetCurrencyList().Result;
                        Console.WriteLine(@"\GetCurrencies");
                        foreach (CurrencyList currency in currencyList)
                        {
                            Console.WriteLine(String.Format("\t\tCurrency:\t\t{0}", currency.Currency));
                            Console.WriteLine(String.Format("\t\tCurrencyLong:\t\t{0}", currency.CurrencyLong));
                            Console.WriteLine(String.Format("\t\tMinConfirmation:\t{0}", currency.MinConfirmation));
                            Console.WriteLine(String.Format("\t\ttxFee:\t\t\t{0}", currency.TxFee));
                            Console.WriteLine(String.Format("\t\tStatus:\t\t\t{0}", currency.Status));
                            Console.WriteLine();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "2":       // GetTicker

                    Ticker ticker = new Ticker();

                    try
                    {
                        ticker = tradeSatoshi.GetTicker("ZCL", TradingPair.BTC).Result;
                        Console.WriteLine(@"\GetTicker");
                        Console.WriteLine(String.Format("\t\tBid:\t{0}", ticker.Bid));
                        Console.WriteLine(String.Format("\t\tAsk:\t{0}", ticker.Ask));
                        Console.WriteLine(String.Format("\t\tLast:\t{0}", ticker.Last));
                        Console.WriteLine(String.Format("\t\tMarket:\t{0}", ticker.Market));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "3":       // GetMarketHistory

                    MarketHistory[] marketHistory = new MarketHistory[] { };

                    try
                    {
                        marketHistory = tradeSatoshi.GetMarketHistory("ZCL", TradingPair.BTC, 5).Result;
                        Console.WriteLine(@"\GetMarketHistory");
                        foreach (MarketHistory history in marketHistory)
                        {
                            Console.WriteLine(String.Format("\t\tID:\t\t{0}", history.Id));
                            Console.WriteLine(String.Format("\t\tTimeStamp:\t{0}", history.TimeStamp));
                            Console.WriteLine(String.Format("\t\tQuantity:\t{0}", history.Quantity));
                            Console.WriteLine(String.Format("\t\tPrice:\t\t{0}", history.Price));
                            Console.WriteLine(String.Format("\t\tOrderType:\t{0}", history.OrderType));
                            Console.WriteLine(String.Format("\t\tTotal:\t\t{0}", history.Total));
                            Console.WriteLine();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    break;

                case "4":       // GetMarketSummary

                    MarketSummary marketSummary = new MarketSummary();

                    try
                    {
                        marketSummary = tradeSatoshi.GetMarketSummary("ZCL", TradingPair.BTC).Result;
                        Console.WriteLine(@"\GetMarketSummary");
                        Console.WriteLine(String.Format("\t\tMarket:\t\t{0}", marketSummary.Market));
                        Console.WriteLine(String.Format("\t\tHigh:\t\t{0}", marketSummary.High));
                        Console.WriteLine(String.Format("\t\tLow:\t\t{0}", marketSummary.Low));
                        Console.WriteLine(String.Format("\t\tBaseVolume:\t{0}", marketSummary.BaseVolume));
                        Console.WriteLine(String.Format("\t\tLast:\t\t{0}", marketSummary.Last));
                        Console.WriteLine(String.Format("\t\tBid:\t\t{0}", marketSummary.Bid));
                        Console.WriteLine(String.Format("\t\tAsk:\t\t{0}", marketSummary.Ask));
                        Console.WriteLine(String.Format("\t\tOpenBuyOrders:\t{0}", marketSummary.OpenBuyOrders));
                        Console.WriteLine(String.Format("\t\tOpenSellOrders:\t{0}", marketSummary.OpenSellOrders));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "5":       // GetMarketSummaries

                    MarketSummary[] marketSummaries = new MarketSummary[] { };

                    try
                    {
                        marketSummaries = tradeSatoshi.GetMarketSummaries().Result;
                        Console.WriteLine(@"\GetMarketSummaries");
                        foreach (MarketSummary market in marketSummaries)
                        {
                            Console.WriteLine(String.Format("\t\tMarket:\t\t{0}", market.Market));
                            Console.WriteLine(String.Format("\t\tHigh:\t\t{0}", market.High));
                            Console.WriteLine(String.Format("\t\tLow:\t\t{0}", market.Low));
                            Console.WriteLine(String.Format("\t\tBaseVolume:\t{0}", market.BaseVolume));
                            Console.WriteLine(String.Format("\t\tLast:\t\t{0}", market.Last));
                            Console.WriteLine(String.Format("\t\tBid:\t\t{0}", market.Bid));
                            Console.WriteLine(String.Format("\t\tAsk:\t\t{0}", market.Ask));
                            Console.WriteLine(String.Format("\t\tOpenBuyOrders:\t{0}", market.OpenBuyOrders));
                            Console.WriteLine(String.Format("\t\tOpenSellOrders:\t{0}", market.OpenSellOrders));
                            Console.WriteLine();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "6":       // GetOrderBook

                    OrderBook orderBook = new OrderBook();

                    try
                    {
                        orderBook = tradeSatoshi.GetOrderBook("ZCL", TradingPair.BTC, OrderType.Both, 5).Result;
                        Console.WriteLine(@"\GetOrderBook");
                        Console.WriteLine("\t\tBuy:");
                        foreach (Buy buy in orderBook.Buy)
                        {
                            Console.WriteLine(String.Format("\t\t\tQuantity:\t{0}", buy.Quantity));
                            Console.WriteLine(String.Format("\t\t\tRate:\t\t{0}", buy.Rate));
                        }
                        Console.WriteLine("\t\tSell:");
                        foreach (Sell sell in orderBook.Sell)
                        {
                            Console.WriteLine(String.Format("\t\t\tQuantity:\t{0}", sell.Quantity));
                            Console.WriteLine(String.Format("\t\t\tRate:\t\t{0}", sell.Rate));
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "7":       // GetBalance

                    Balance balance = new Balance();

                    try
                    {
                        balance = tradeSatoshi.GetBalance("GRLC").Result;
                        Console.WriteLine(@"\GetBalance");
                        Console.WriteLine(String.Format("\t\tCurrency:\t\t{0}", balance.Currency));
                        Console.WriteLine(String.Format("\t\tCurrencyLong:\t\t{0}", balance.CurrencyLong));
                        Console.WriteLine(String.Format("\t\tAvailable:\t\t{0}", balance.Avaliable));         // a typo!
                        Console.WriteLine(String.Format("\t\tTotal:\t\t\t{0}", balance.Total));
                        Console.WriteLine(String.Format("\t\tHeldForTrades:\t\t{0}", balance.HeldForTrades));
                        Console.WriteLine(String.Format("\t\tUnconfirmed:\t\t{0}", balance.Unconfirmed));
                        Console.WriteLine(String.Format("\t\tPendingWithdraw:\t{0}", balance.PendingWithdraw));
                        Console.WriteLine(String.Format("\t\tAddress:\t\t{0}", balance.PendingWithdraw));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "8":       // GetBalances

                    Balance[] balances = new Balance[] { };

                    try
                    {
                        balances = tradeSatoshi.GetBalances().Result;
                        Console.WriteLine(@"\GetBalances");
                        foreach (Balance individualBalance in balances)
                        {
                            Console.WriteLine(String.Format("\t\tCurrency:\t\t{0}", individualBalance.Currency));
                            Console.WriteLine(String.Format("\t\tCurrencyLong:\t\t{0}", individualBalance.CurrencyLong));
                            Console.WriteLine(String.Format("\t\tAvailable:\t\t{0}", individualBalance.Avaliable));         // a typo!
                            Console.WriteLine(String.Format("\t\tTotal:\t\t\t{0}", individualBalance.Total));
                            Console.WriteLine(String.Format("\t\tHeldForTrades:\t\t{0}", individualBalance.HeldForTrades));
                            Console.WriteLine(String.Format("\t\tUnconfirmed:\t\t{0}", individualBalance.Unconfirmed));
                            Console.WriteLine(String.Format("\t\tPendingWithdraw:\t{0}", individualBalance.PendingWithdraw));
                            Console.WriteLine(String.Format("\t\tAddress:\t\t{0}", individualBalance.PendingWithdraw));
                            Console.WriteLine();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "9":       // GetOrder

                    Order order = new Order();

                    try
                    {
                        order = tradeSatoshi.GetOrder(00000000).Result;

                        Console.WriteLine(@"\GetOrder");
                        Console.WriteLine(String.Format("\t\tAmount:\t\t{0}", order.Amount));
                        Console.WriteLine(String.Format("\t\tId:\t\t{0}", order.Id));
                        Console.WriteLine(String.Format("\t\tIsApi:\t\t{0}", order.IsApi));
                        Console.WriteLine(String.Format("\t\tMarket:\t\t{0}", order.Market));
                        Console.WriteLine(String.Format("\t\tRate:\t\t{0}", order.Rate));
                        Console.WriteLine(String.Format("\t\tRemaining:\t{0}", order.Remaining));
                        Console.WriteLine(String.Format("\t\tTimestamp:\t{0}", order.Timestamp));
                        Console.WriteLine(String.Format("\t\tTotal:\t\t{0}", order.Total));
                        Console.WriteLine(String.Format("\t\tType:\t\t{0}", order.Type));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "10":      // GetOrders

                    Order[] orders = new Order[] { };

                    try
                    {
                        orders = tradeSatoshi.GetOrders("GRLC", TradingPair.BTC, 5).Result;
                        Console.WriteLine(@"\GetOrders");
                        foreach (Order individualOrder in orders)
                        {
                            Console.WriteLine(String.Format("\t\tAmount:\t\t{0}", individualOrder.Amount));
                            Console.WriteLine(String.Format("\t\tId:\t\t{0}", individualOrder.Id));
                            Console.WriteLine(String.Format("\t\tIsApi:\t\t{0}", individualOrder.IsApi));
                            Console.WriteLine(String.Format("\t\tMarket:\t\t{0}", individualOrder.Market));
                            Console.WriteLine(String.Format("\t\tRate:\t\t{0}", individualOrder.Rate));
                            Console.WriteLine(String.Format("\t\tRemaining:\t{0}", individualOrder.Remaining));
                            Console.WriteLine(String.Format("\t\tTimestamp:\t{0}", individualOrder.Timestamp));
                            Console.WriteLine(String.Format("\t\tTotal:\t\t{0}", individualOrder.Total));
                            Console.WriteLine(String.Format("\t\tType:\t\t{0}", individualOrder.Type));
                            Console.WriteLine();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "11":      // SubmitOrder

                    SubmitOrder submitOrder = new SubmitOrder();

                    try
                    {
                        submitOrder = tradeSatoshi.SubmitOrder("GRLC", TradingPair.BTC, OrderType.Sell, .5, .00002).Result;
                        Console.WriteLine(@"\SubmitOrder");
                        Console.WriteLine(String.Format("\t\tOrderID:\t{0}", submitOrder.OrderId));
                        Console.WriteLine(String.Format("\t\tFilled:"));
                        foreach (long fill in submitOrder.Filled)
                        {
                            Console.WriteLine(String.Format("\t\t\t{0}", fill));
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "12":      // CancelOrder

                    CancelOrder cancelOrder = new CancelOrder();

                    try
                    {
                        cancelOrder = tradeSatoshi.CancelOrder(CancelType.Market, null, "GRLC", TradingPair.BTC).Result;
                        Console.WriteLine(@"\CancelOrder");
                        Console.WriteLine(String.Format("\t\tCancelledOrders:"));
                        foreach (long cancelledOrder in cancelOrder.CanceledOrders)
                        {
                            Console.WriteLine(String.Format("\t\t\t{0}", cancelledOrder));
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "13":      // GetTradeHistory

                    Order[] tradeHistory = new Order[] { };

                    // TODO: Retest later.. server gives an error
                    try
                    {
                        tradeHistory = tradeSatoshi.GetTradeHistory("GRLC", TradingPair.BTC, 10, 0).Result;
                        Console.WriteLine(@"\GetTradeHistory");
                        Console.WriteLine(String.Format("\t\tCancelledOrders:"));
                        foreach (Order trade in tradeHistory)
                        {
                            Console.WriteLine(String.Format("\t\tAmount:\t\t{0}", trade.Amount));
                            Console.WriteLine(String.Format("\t\tId:\t\t{0}", trade.Id));
                            Console.WriteLine(String.Format("\t\tIsApi:\t\t{0}", trade.IsApi));
                            Console.WriteLine(String.Format("\t\tMarket:\t\t{0}", trade.Market));
                            Console.WriteLine(String.Format("\t\tRate:\t\t{0}", trade.Rate));
                            Console.WriteLine(String.Format("\t\tRemaining:\t{0}", trade.Remaining));
                            Console.WriteLine(String.Format("\t\tTimestamp:\t{0}", trade.Timestamp));
                            Console.WriteLine(String.Format("\t\tTotal:\t\t{0}", trade.Total));
                            Console.WriteLine(String.Format("\t\tType:\t\t{0}", trade.Type));
                            Console.WriteLine();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "14":      // GenerateAddress

                    GenerateAddress generateAddress = new GenerateAddress();

                    try
                    {
                        generateAddress = tradeSatoshi.GenerateAddress("BCH").Result;
                        Console.WriteLine(@"\GenerateAddress");
                        Console.WriteLine(String.Format("\t\tCurrency:\t{0}", generateAddress.Currency));
                        Console.WriteLine(String.Format("\t\tAddress:\t{0}", generateAddress.Address));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "15":      // SubmitWithdraw

                    SubmitWithdraw submitWithdraw = new SubmitWithdraw();

                    // TODO: Test
                    try
                    {
                        submitWithdraw = tradeSatoshi.SubmitWithdraw("GRLC", "address", 10).Result;
                        Console.WriteLine(@"\SubmitWithdraw");
                        Console.WriteLine(String.Format("\t\tWithdrawalId:\t{0}", submitWithdraw.WithdrawalId));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "16":      // GetDeposits

                    Deposit[] deposits = new Deposit[] { };

                    try
                    {
                        deposits = tradeSatoshi.GetDeposits("GRLC", 5).Result;
                        Console.WriteLine(@"\GetDeposits");
                        foreach (Deposit deposit in deposits)
                        {
                            Console.WriteLine(String.Format("\t\tID:\t\t{0}", deposit.Id));
                            Console.WriteLine(String.Format("\t\tCurrency:\t{0}", deposit.Currency));
                            Console.WriteLine(String.Format("\t\tCurrencyLong:\t{0}", deposit.CurrencyLong));
                            Console.WriteLine(String.Format("\t\tAmount:\t\t{0}", deposit.Amount));
                            Console.WriteLine(String.Format("\t\tStatus:\t\t{0}", deposit.Status));
                            Console.WriteLine(String.Format("\t\tTxid:\t\t{0}", deposit.Txid));
                            Console.WriteLine(String.Format("\t\tConfirmations:\t{0}", deposit.Confirmations));
                            Console.WriteLine(String.Format("\t\tTimestamp:\t{0}", deposit.Timestamp));
                            Console.WriteLine();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    break;

                case "17":      // GetWithdrawls

                    Withdrawl[] withdrawls = new Withdrawl[] { };

                    // TODO: Test
                    try
                    {
                        withdrawls = tradeSatoshi.GetWithdrawls("GRLC", 5).Result;
                        Console.WriteLine(@"\GetWithdrawls");
                        foreach (Withdrawl withdrawl in withdrawls)
                        {
                            Console.WriteLine(String.Format("\t\tID:\t\t{0}", withdrawl.Id));
                            Console.WriteLine(String.Format("\t\tCurrency:\t{0}", withdrawl.Currency));
                            Console.WriteLine(String.Format("\t\tCurrencyLong:\t{0}", withdrawl.CurrencyLong));
                            Console.WriteLine(String.Format("\t\tAmount:\t\t{0}", withdrawl.Amount));
                            Console.WriteLine(String.Format("\t\tFee:\t\t{0}", withdrawl.Fee));
                            Console.WriteLine(String.Format("\t\tAddress:\t\t{0}", withdrawl.Address));
                            Console.WriteLine(String.Format("\t\tStatus:\t\t{0}", withdrawl.Status));
                            Console.WriteLine(String.Format("\t\tTxid:\t\t{0}", withdrawl.Txid));
                            Console.WriteLine(String.Format("\t\tConfirmations:\t{0}", withdrawl.Confirmations));
                            Console.WriteLine(String.Format("\t\tTimestamp:\t{0}", withdrawl.Timestamp));
                            Console.WriteLine(String.Format("\t\tIsApi:\t\t{0}", withdrawl.IsApi));
                            Console.WriteLine();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                case "18":      // SubmitTransfer

                    Transfer transfer = new Transfer();

                    try
                    {
                        transfer = tradeSatoshi.SubmitTransfer("GRLC", "username", 1).Result;
                        Console.WriteLine(@"\SubmitTransfer");
                        Console.WriteLine(String.Format("\t\tData:\t\t{0}", transfer.Data));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;

                // Internal API

                case "19":      // GetTradePairChart

                    // Needs a cloudflare bypass
                    TradePairChart tradePairChart = new TradePairChart();

                    try
                    {
                        tradePairChart = tradeSatoshi.GetTradePairChart(2567).Result;
                        foreach (double[] candle in tradePairChart.Candle)
                        {
                            Console.WriteLine(String.Format("Timestamp: {0}", candle[0]));
                            Console.WriteLine(String.Format("Open: {0}", candle[1]));
                            Console.WriteLine(String.Format("High: {0}", candle[2]));
                            Console.WriteLine(String.Format("Low: {0}", candle[3]));
                            Console.WriteLine(String.Format("Close: {0}", candle[4]));
                            Console.WriteLine();
                        }

                        foreach (double[] volume in tradePairChart.Volume)
                        {
                            Console.WriteLine(String.Format("Timestamp: {0}", volume[0]));
                            Console.WriteLine(String.Format("Volume: {0}", volume[1]));
                            Console.WriteLine();
                        }

                        Console.WriteLine(String.Format("Low: {0}", tradePairChart.Low));
                        Console.WriteLine(String.Format("High: {0}", tradePairChart.High));
                        Console.WriteLine(String.Format("Last: {0}", tradePairChart.Last));
                        Console.WriteLine();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        break;
                    }

                    Console.WriteLine();
                    break;
                }
            }
        }
Beispiel #11
0
        // GetMarketSummary
        public async Task <MarketSummary> GetMarketSummary(string currency, TradingPair tradingPair)
        {
            MarketSummary marketSummary = await tradeSatoshiApiWrapper.GetMarketSummary(currency, tradingPair);

            return(marketSummary);
        }
Beispiel #12
0
 public void Add(MarketSummary marketSummary)
 {
     throw new NotImplementedException();
 }
Beispiel #13
0
 public void updateStockPriceVolume(double quantity, QuoteDataModel quote)
 {
     //See note above: want to use existing connection
     MarketSummary marketSummaryDal = new MarketSummary(_internalConnection, _internalADOTransaction);
     marketSummaryDal.updateStockPriceVolume(quantity, quote);
     return;
 }
Beispiel #14
0
 public QuoteDataModel getQuoteForUpdate(string symbol)
 {
     //Cross-DAL calls pass in their own connection if they want to ensure commans are
     //executed on the same connection and optional ADO transaction.  If 
     //_internalADOTransaction is null, as with all DAL classes, it will be ignored.
     MarketSummary marketsummaryDal = new MarketSummary(_internalConnection, _internalADOTransaction);
     return marketsummaryDal.getQuoteForUpdate(symbol);
 }