Ejemplo n.º 1
0
        //private IBinanceApiUser iuser;
        public VolumeInfo()
        {
            InitializeComponent();
            enableTrading = chkLiveTrading.Checked;
            BinanceDefaults.SetDefaultApiCredentials("jfjGYilh6zE3EN0k4ENvFHPfun1MmIhvZsYvOBPgmqExCKyYVb1gjyE2DyAo4Ks8", "eUYGrWr30TDy8iIrI3SVUXg1D7Jo4ysj1wvFuUCaLZlE3ZqcqqjLl08zcIcNr2xc");
            BinanceDefaults.SetDefaultLogVerbosity(LogVerbosity.Debug);
            //BinanceDefaults.SetDefaultLogOutput(Console.Out);
            using (var client = new BinanceClient())
            {
                BinanceAccountInfo           accountInfo = client.GetAccountInfo().Data;
                IEnumerable <BinanceBalance> candlearray = accountInfo.Balances.Select(e => e).Where(e => (e.Total + e.Locked) > 0); //
            }
            if (!System.IO.File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\Database.sqlite"))
            {
                SQLiteConnection.CreateFile("Database.sqlite");
            }
            _conn = new SQLiteConnection("Data Source=Database.sqlite;Version=3;");
            _conn.Open();
            try
            {
                string        sql     = "CREATE TABLE IF NOT EXISTS TICKERS (Symbol VARCHAR(20), active INT)";
                SQLiteCommand command = new SQLiteCommand(sql, _conn);
                command.ExecuteNonQueryAsync();
                sql     = "CREATE TABLE IF NOT EXISTS ORDERS (Symbol VARCHAR(20),Scanned DATE, Price decimal, Volume decimal, TakerBuyBaseAssetVolume decimal, TakerBuyQuoteAssetVolume decimal, NumberOfTrades INT, Hr8Av INT, NowPercent decimal, Min15Percent decimal, GreenCandles decimal)";
                command = new SQLiteCommand(sql, _conn);
                command.ExecuteNonQueryAsync();
                sql = "CREATE VIEW IF NOT EXISTS [V_Symbols] AS SELECT COUNT(Symbol), Symbol FROM ORDERS GROUP BY Symbol ORDER By COUNT(Symbol) DESC;";
                command.ExecuteNonQueryAsync();
            }
            catch (Exception ex)
            {
                //_conn.Close();
            }
            TableInit();
            //RefreshButton.Visible = false;
            FontSet();

            //this.loopThread = new Thread(new ThreadStart(this.GetVolumes));
            //this.loopThread.Start();

            this.backgroundWorkerView = new System.ComponentModel.BackgroundWorker();
            this.backgroundWorkerView.RunWorkerCompleted += new RunWorkerCompletedEventHandler(this.backgroundWorkerView_RunWorkerCompleted);
            this.backgroundWorkerView.DoWork             += new DoWorkEventHandler(backgroundWorkerView_DoWork);
            //Task.Run(() =>
            //{
            //GetVolumes();
            //});
            //this.Show();
        }
Ejemplo n.º 2
0
        public void SettingDefaults_Should_ImpactNewClients()
        {
            // arrange
            var stringBuilder = new StringBuilder();

            BinanceDefaults.SetDefaultApiCredentials("test", "test");
            BinanceDefaults.SetDefaultLogOutput(new StringWriter(stringBuilder));
            BinanceDefaults.SetDefaultLogVerbosity(LogVerbosity.Debug);

            var client = PrepareClient(JsonConvert.SerializeObject(new BinancePing()));

            // act
            Assert.DoesNotThrow(() => client.GetAccountInfo());

            // assert
            Assert.IsFalse(string.IsNullOrEmpty(stringBuilder.ToString()));
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            BinanceDefaults.SetDefaultApiCredentials("APIKEY", "APISECRET");
            BinanceDefaults.SetDefaultLogVerbosity(LogVerbosity.Debug);
            BinanceDefaults.SetDefaultLogOutput(Console.Out);

            using (var client = new BinanceClient())
                using (var socketClient = new BinanceSocketClient())
                {
                    // Public
                    var ping          = client.Ping();
                    var serverTime    = client.GetServerTime();
                    var orderBook     = client.GetOrderBook("BNBBTC", 10);
                    var aggTrades     = client.GetAggregatedTrades("BNBBTC", startTime: DateTime.UtcNow.AddMinutes(-2), endTime: DateTime.UtcNow, limit: 10);
                    var klines        = client.GetKlines("BNBBTC", KlineInterval.OneHour, startTime: DateTime.UtcNow.AddHours(-10), endTime: DateTime.UtcNow, limit: 10);
                    var prices24h     = client.Get24HPrices("BNBBTC");
                    var allPrices     = client.GetAllPrices();
                    var allBookPrices = client.GetAllBookPrices();

                    // Private
                    var openOrders      = client.GetOpenOrders("BNBBTC");
                    var allOrders       = client.GetAllOrders("BNBBTC");
                    var testOrderResult = client.PlaceTestOrder("BNBBTC", OrderSide.Buy, OrderType.Limit, TimeInForce.GoodTillCancel, 1, 1);
                    var queryOrder      = client.QueryOrder("BNBBTC", allOrders.Data[0].OrderId);
                    var orderResult     = client.PlaceOrder("BNBBTC", OrderSide.Sell, OrderType.Limit, TimeInForce.GoodTillCancel, 10, 0.0002);
                    var cancelResult    = client.CancelOrder("BNBBTC", orderResult.Data.OrderId);
                    var accountInfo     = client.GetAccountInfo();
                    var myTrades        = client.GetMyTrades("BNBBTC");


                    // Withdrawal/deposit
                    var withdrawalHistory = client.GetWithdrawHistory();
                    var depositHistory    = client.GetDepositHistory();
                    var withdraw          = client.Withdraw("ASSET", "ADDRESS", 0);


                    // Streams
                    var successDepth = socketClient.SubscribeToDepthStream("bnbbtc", (data) =>
                    {
                        // handle data
                    });
                    var successTrades = socketClient.SubscribeToTradesStream("bnbbtc", (data) =>
                    {
                        // handle data
                    });
                    var successKline = socketClient.SubscribeToKlineStream("bnbbtc", KlineInterval.OneMinute, (data) =>
                    {
                        // handle data
                    });

                    var successStart   = client.StartUserStream();
                    var successAccount = socketClient.SubscribeToAccountUpdateStream(successStart.Data.ListenKey, (data) =>
                    {
                        // handle data
                    });
                    var successOrder = socketClient.SubscribeToOrderUpdateStream(successStart.Data.ListenKey, (data) =>
                    {
                        // handle data
                    });

                    socketClient.UnsubscribeFromStream(successDepth.Data);
                    socketClient.UnsubscribeFromAccountUpdateStream();
                    socketClient.UnsubscribeAllStreams();
                }

            Console.ReadLine();
        }
Ejemplo n.º 4
0
        public MainViewModel()
        {
            MainViewModel.MainViewModels.Add(this);


            BinanceDefaults.SetDefaultLogVerbosity(Logging.LogVerbosity.Warning);
            TextWriter tw = new StreamWriter("log.txt"); // This is not threadsafe!

            BinanceDefaults.SetDefaultLogOutput(tw);

            // DB
            storage = new Storage();

            // Load key and secret
            string configLocation = "config.ini";

            if (File.Exists(configLocation))
            {
                mainConfig = File.ReadAllLines(configLocation).ToDictionary(line => line.Split('=')[0], line => line.Split('=')[1].Trim());
                var apiKey    = mainConfig.GetValue("APIKey");
                var apiSecret = mainConfig.GetValue("APISecret");
                if (!string.IsNullOrWhiteSpace(apiKey))
                {
                    ApiKey = apiKey;
                }
                if (!string.IsNullOrWhiteSpace(apiSecret))
                {
                    ApiSecret = apiSecret;
                }
            }
            else
            {
                mainConfig = new Dictionary <string, string>();
                mainConfig.Add("APIKey", "");
                mainConfig.Add("APISecret", "");
                File.WriteAllLines(configLocation, mainConfig.Select(kvp => $"{kvp.Key}={kvp.Value}").ToList());
            }

            // Should be done with DI
            messageBoxService = new MessageBoxService();
            orderLock         = new object();

            BuyCommand           = new DelegateCommand(Buy);
            SellCommand          = new DelegateCommand(Sell);
            CancelCommand        = new DelegateCommand(Cancel);
            SettingsCommand      = new DelegateCommand(Settings);
            CloseSettingsCommand = new DelegateCommand(CloseSettings);


            binanceSocketClient = new BinanceSocketClient();

            var allSymbolsTask = Task.Run(() => GetAllSymbols());

            SubscribeUserStream();

            allSymbolsTask.Wait();


            Task.Run(() =>
            {
                // Doing this voilates the ratelimit
                //GetAllHistory("BTC");
                //GetAllHistory("ETH");
                //GetAllHistory("USDT");
                //GetAllHistory("BNB");
            });
        }