//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(); }
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())); }
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(); }
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"); }); }