static void Main(string[] args)
        {
            ApiClient _ApiClient;

            BinanceClient.BinanceClient _BinanceClient;

            _ApiClient     = new ApiClient("8UY4Sr4IUroMRflEfOOot0QidZOANt35eXvZVEGwGfHSe3oDLWQNngRI9ikKwq6P", "zbNTpeYzd8lGlWByuzcR0Jk6whA6xbADESE2wnxx8aSGDWpFxhVic3KwMZgxiPqj");
            _BinanceClient = new BinanceClient.BinanceClient(_ApiClient, false);

            List <Balance> balances = _BinanceClient.GetAccountInfo().Result.Balances.ToList <Balance>();

            Console.WriteLine("AccountInfo retreived.");

            foreach (Balance balance in balances)
            {
                if ((balance.Free == 0 && balance.Locked == 0) || (balance.Asset == "BNB"))
                {
                    continue;
                }

                long     time  = _BinanceClient.GetTradeList(balance.Asset + "USDT").Result.ToList <Trade>().Last <Trade>().Time;
                DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
                epoch = epoch.AddMilliseconds(time);
            }


            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            if (args.Count() != 2)
            {
                Console.WriteLine("Error. Usage BinanceExecute.exe [binance key] [binance secret]");
                Console.WriteLine("Press enter to exit");
                Console.ReadLine();
                Environment.Exit(0);
            }

            TimeSpan maxTradeData = TimeSpan.FromHours(12);
            TimeSpan refreshData  = TimeSpan.FromSeconds(1);

            string key    = args[0];
            string secret = args[1];

            var binanceClient  = new BinanceClient.BinanceClient(key, secret);
            var binanceService = new BinanceService(binanceClient);

            IBinanceDataPool binanceDataPool = new BinanceDataPool(binanceService);

            binanceDataPool.Start(refreshData);

            List <ICurrency>     allCurrencies    = Currency.AllCurrencies.Where(curr => curr != Currency.UsDollar).ToList();
            List <IExchangeRate> allExchangeRates = allCurrencies.Select(curr => (IExchangeRate) new ExchangeRate(curr, Currency.UsDollar,
                                                                                                                  binanceDataPool, maxTradeData)).ToList();

            IExchangeRate liteCoinExchangeRate = allExchangeRates.FirstOrDefault(exc => exc.ReferenceCurrency == Currency.UsDollar && exc.MainCurrency == Currency.LiteCoin);

            Account account = new Account(binanceDataPool, allCurrencies, allExchangeRates, maxTradeData);

            DoWork(account, refreshData, binanceDataPool, false);

            /* List<ITrade> trades = allCurrencies.Select(currency => allCurrencies.
             *       Select(referenceCurrency => new KeyValuePair<ICurrency, ICurrency>(currency, referenceCurrency)).
             *       Where(keyPairVal => keyPairVal.Key != keyPairVal.Value)).
             *   SelectMany(keyPairVals => keyPairVals).Select(keyPairVal =>
             *   new Trade(binanceDataPool, keyPairVal.Key, keyPairVal.Value, allExchangeRates) as ITrade).ToList();
             *
             */


            /*IExchangeRate exchangeRate = new  ExchangeRate(Currency.Ethereum, Currency.Bitcoin, binanceService, exchangeRatePool, maxTradeData);
             *          Order order = new Order(exchangeRate, 0.0056, binanceService);
             *          order.PlaceBuyOrder();
             */



            /*
             *          var getAccount = binanceService.GetAccountAsync();
             *          Task.WaitAll(getAccount);
             *          dynamic account = getAccount.Result;
             *          Console.WriteLine(account);*/

            //GET TICKER DEPTH

            /*var getDepth = binanceService.GetDepthAsync("BTCUSDT");
             * Task.WaitAll(getDepth);
             * dynamic depth = getDepth.Result;
             * Console.WriteLine(depth);*/

            /*IExchangeRatePool exchangeRatePool = new BinanceDataPool(binanceService);
             * exchangeRatePool.Start(TimeSpan.FromSeconds(0.5));
             *
             * IExchangeRate bitCoinExchangeRate = new ExchangeRate(Currency.Bitcoin, Currency.UsDollar, binanceService, exchangeRatePool, maxTradeData);
             * IExchangeRate binanceCoinExchangeRate = new ExchangeRate(Currency.BinanceCoin, Currency.UsDollar, binanceService, exchangeRatePool, maxTradeData);
             * IExchangeRate ethereumExchangeRate = new ExchangeRate(Currency.Ethereum, Currency.UsDollar, binanceService, exchangeRatePool, maxTradeData);
             * IExchangeRate liteCoinExchangeRate = new ExchangeRate(Currency.LiteCoin, Currency.UsDollar, binanceService, exchangeRatePool, maxTradeData);
             *
             *
             * Thread.Sleep(500000);*/


            /*
             * //GET ACCOUNT INFORMATION
             * var getAccount = binanceService.GetAccountAsync();
             * Task.WaitAll(getAccount);
             * dynamic account = getAccount.Result;
             * Console.WriteLine(account);
             *
             * //GET ORDERS FOR SYMBOL
             * var getOrders = binanceService.GetOrdersAsync("BNBBTC", 100);
             * Task.WaitAll(getOrders);
             * dynamic orders = getOrders.Result;
             * Console.WriteLine(orders);
             *
             * //GET MY TRADES
             * var getMyTrades = binanceService.GetTradesAsync("WTCBTC");
             * Task.WaitAll(getAccount);
             * dynamic trades = getMyTrades.Result;
             * Console.WriteLine(trades);
             *
             * //GET ALL PRICES
             * List<Prices> prices = new List<Prices>();
             * prices = binanceService.ListPrices();
             * Console.WriteLine(prices);*/

            //GET PRICE OF SYMBOL

            /*double symbol = binanceService.GetPriceOfSymbol("BTCUSDT");
             * Console.WriteLine("Price of BNB: " + symbol);*/

            /*//PLACE BUY ORDER
             * var placeBuyOrder = binanceService.PlaceBuyOrderAsync("NEOBTC", 1.00, 00.008851);
             * Task.WaitAll(placeBuyOrder);
             * dynamic buyOrderResult = placeBuyOrder.Result;
             * Console.WriteLine(buyOrderResult);
             *
             * //PLACE SELL ORDER
             * var placeSellOrder = binanceService.PlaceSellOrderAsync("NEOBTC", 1.00, 00.008851);
             * Task.WaitAll(placeSellOrder);
             * dynamic sellOrderResult = placeSellOrder.Result;
             * Console.WriteLine(sellOrderResult);
             *
             * //TEST ORDER---------------------------------------------------------------------------
             * var placeOrderTest = binanceService.PlaceTestOrderAsync("NEOBTC", "SELL", 1.00, 00.006151);
             * Task.WaitAll(placeOrderTest);
             * dynamic testOrderResult = placeOrderTest.Result;
             * Console.WriteLine(testOrderResult);
             * //-------------------------------------------------------------------------------------
             *
             * //CHECK ORDER STATUS BY ID
             * var checkOrder = binanceService.CheckOrderStatusAsync("NEOBTC", 5436663);
             * Task.WaitAll(checkOrder);
             * dynamic checkOrderResult = checkOrder.Result;
             * Console.WriteLine(checkOrderResult);
             *
             * //DELETE ORDER BY ID
             * var deleteOrder = binanceService.CancelOrderAsync("NEOBTC", 5436663);
             * Task.WaitAll(deleteOrder);
             * dynamic deleteOrderResult = deleteOrder.Result;
             * Console.WriteLine(deleteOrderResult);*/

            Console.ReadLine();
        }