Exemple #1
0
        public static IBinanceClient CreateResponseClient <T>(T response, BinanceClientOptions options = null)
        {
            var client = (BinanceClient)CreateClient(options);

            SetResponse(client, JsonConvert.SerializeObject(response));
            return(client);
        }
Exemple #2
0
        public async Task <IEnumerable <AccountBalance> > ReadAccountBalances()
        {
            var result = new List <AccountBalance>();

            var clientConfig = new BinanceClientOptions
            {
                ApiCredentials = new ApiCredentials(config.ApiKey, config.ApiSecret)
            };

            using (var client = new BinanceClient(clientConfig))
            {
                var res = await client.General.GetAccountInfoAsync();

                foreach (var balance in res.Data.Balances)
                {
                    result.Add(new AccountBalance()
                    {
                        Hold      = balance.Locked,
                        Available = balance.Free,
                        Balance   = balance.Total,
                        Currency  = balance.Asset
                    });
                }
            }

            return(result);
        }
Exemple #3
0
        public static IBinanceClient CreateResponseClient(string response, BinanceClientOptions options = null)
        {
            var client = (BinanceClient)CreateClient(options);

            SetResponse(client, response);
            return(client);
        }
        public OrderManager(Credentials creds)
        {
            m_creds  = creds;
            m_orders = new XOrderList();

            // BINANCE Client (and Websocket Client)
            var cred = m_creds["BINANCE"];
            var opt  = new BinanceClientOptions();

            opt.ApiCredentials = new ApiCredentials(cred.Key, cred.Secret);
            m_bina             = new BinanceClient(opt);

            BinanceWebsocket.SetCredentials(cred.Key, cred.Secret);
            m_binaSocket = BinanceWebsocket.Instance;

            /*var sopt = new Binance.Net.BinanceSocketClientOptions();
             * sopt.ApiCredentials = new CryptoExchange.Net.Authentication.ApiCredentials(m_creds["BINANCE"].Key, m_creds["BINANCE"].Secret);
             * m_sbina = new Binance.Net.BinanceSocketClient(sopt);
             * m_binaTick = new ConcurrentDictionary<string, BinanceStreamTick>();
             * GetBinanceTickers();
             * GetBinanceAccountInfo();
             * StartWebsockets();*/

            // BITTREX Client (and Websocket Client)
            // ...Bittrex initialization code goes here...

            // POLONIEX Client
            // ...Poloniex initialization code goes here...
        }
        public BinanceRestApi(string apiKey, string apiSecret)
        {
            var options = new BinanceClientOptions();

            options.ApiCredentials = new CryptoExchange.Net.Authentication.ApiCredentials(apiKey, apiSecret);
            m_client = new BinanceClient(options);
        }
Exemple #6
0
        public static WebCallResult <BinanceOrderBook> getBinanceOrderBook(string symbol, string side)
        {
            BinanceClientOptions clientOptions = new BinanceClientOptions(Uri);
            BinanceClient        binance       = new BinanceClient(clientOptions);

            return(binance.GetOrderBook(symbol, limit: 20));
        }
Exemple #7
0
        public static IBinanceClient CreateClient(BinanceClientOptions options = null)
        {
            IBinanceClient client;

            client = options != null ? new BinanceClient(options) : new BinanceClient();
            client.RequestFactory = Mock.Of <IRequestFactory>();
            return(client);
        }
Exemple #8
0
 private BinanceClient Construct(BinanceClientOptions options = null)
 {
     if (options != null)
     {
         return(new BinanceClient(options));
     }
     return(new BinanceClient());
 }
Exemple #9
0
        private BinanceClient CreateBinanceClient()
        {
            var creds   = new ApiCredentials(_config.BinanceApiKey, _config.BinanceApiSecret);
            var options = new BinanceClientOptions()
            {
                ApiCredentials = creds
            };

            return(new BinanceClient(options));
        }
Exemple #10
0
        public BinanceRestApi(string apiKey, string apiSecret)
        {
            var options = new BinanceClientOptions();

            options.ApiCredentials = new CryptoExchange.Net.Authentication.ApiCredentials(apiKey, apiSecret);
            var limit = new BinanceRateLimit();

            limit.Interval = RateLimitInterval.Minute;
            limit.Limit    = 1200;
            //options.RateLimiters.Add(limit);
            m_client = new BinanceClient(options);
        }
        public BinanceClient GetBinanceClient()
        {
            var exchange  = "BINANCE";
            var apiKey    = m_creds[exchange].Key;
            var apiSecret = m_creds[exchange].Secret;
            var options   = new BinanceClientOptions();

            options.ApiCredentials = new CryptoExchange.Net.Authentication.ApiCredentials(apiKey, apiSecret);
            var client = new BinanceClient(options);

            return(client);
        }
Exemple #12
0
        static void CreateBinanceExchange(out BinanceClient exch, out BinanceSocketClient sock)
        {
            var evKeys = Environment.GetEnvironmentVariable("BINANCE_KEY", EnvironmentVariableTarget.User);
            var keys   = evKeys.Split('|');

            var clientOptions = new BinanceClientOptions();

            clientOptions.ApiCredentials = new ApiCredentials(keys[0], keys[1]);
            exch = new BinanceClient(clientOptions);
            //----------
            var socketOptions = new BinanceSocketClientOptions();

            socketOptions.ApiCredentials = clientOptions.ApiCredentials;
            sock = new BinanceSocketClient(socketOptions);
        }
Exemple #13
0
        //public BinanceExchange(KafkaProducer p)
        public BinanceExchange(string bootstrapServers, string topic)
        {
            var evKeys = Environment.GetEnvironmentVariable(ApiKeyEnvVar, EnvironmentVariableTarget.User);
            var keys   = evKeys.Split('|');

            var clientOptions = new BinanceClientOptions();

            clientOptions.ApiCredentials = new ApiCredentials(keys[0], keys[1]);
            this.exch = new BinanceClient(clientOptions);
            //----------
            var socketOptions = new BinanceSocketClientOptions();

            socketOptions.ApiCredentials = clientOptions.ApiCredentials;
            this.sock = new BinanceSocketClient(socketOptions);

            //_p = p;
            _p = new KafkaProducer(bootstrapServers, topic);
        }
        public static void InitializeApi(string encryptedCredentialsFile, string password)
        {
            m_creds = Credentials.LoadEncryptedJson(encryptedCredentialsFile, password);
            var cred = m_creds["BINANCE"];

            m_api = new BinanceApi(cred.Key, cred.Secret);

            BinanceClientOptions options = new BinanceClientOptions();

            options.ApiCredentials = new CryptoExchange.Net.Authentication.ApiCredentials(cred.Key, cred.Secret);
            m_client = new BinanceClient(options);

            //m_api.Test();
            //PrintAllBalances();
            //Ping(new string[] { "api.binance.com" });
            //Rebalance();

            m_api.StartUserDataStream();
        }
        private BinanceWebsocket(string apiKey, string apiSecret)
        {
            var options = new BinanceClientOptions();

            options.ApiCredentials = new CryptoExchange.Net.Authentication.ApiCredentials(apiKey, apiSecret);
            m_client = new BinanceClient(options);
            var soptions = new BinanceSocketClientOptions();

            soptions.ApiCredentials = new CryptoExchange.Net.Authentication.ApiCredentials(apiKey, apiSecret);
            m_socketClient          = new BinanceSocketClient(soptions);

            m_tick    = new ConcurrentDictionary <string, BinanceStreamTick>();
            m_balance = new ConcurrentDictionary <string, XBalance>();   //BinanceStreamBalance>();
            m_order   = new ConcurrentDictionary <string, BinanceStreamOrderUpdate>();

            InitializeBinanceTickers();
            InitializeBinanceAccountInfo();
            //InitializeBinanceOrderInfo();

            StartWebsockets();

            m_timer = new Timer(HandleTimerCallback, m_listenKey, TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(15));
        }
Exemple #16
0
        public static void Main(string[] args)
        {
            Console.Title = "OpenUsainBot Alpha";
            Utilities.tag();
            Config config = Program.LoadOrCreateConfig();

            if (config == null)
            {
                Console.Read();
            }
            else
            {
                try
                {
                    BinanceClientOptions options = new BinanceClientOptions();
                    options.ApiCredentials = new ApiCredentials(config.apiKey, config.apiSecret);
                    options.LogVerbosity   = LogVerbosity.None;
                    options.LogWriters     = new List <TextWriter>()
                    {
                        Console.Out
                    };
                    BinanceClient.SetDefaultOptions(options);
                }
                catch (Exception ex)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Utilities.Write(ConsoleColor.DarkRed, "ERROR! Could not set Binance options. Error message: " + ex.Message);
                    Console.Read();
                    return;
                }
                Utilities.Write(ConsoleColor.Green, "Successfully logged in.");
                while (true)
                {
                    string symbol;
                    if (config.channel_id.Length > 0 && config.discord_token.Length > 0)
                    {
                        symbol = (string)null;
                        Utilities.Write(ConsoleColor.Yellow, "Looking for ticker...");
                        while (symbol == null)
                        {
                            symbol = "ETH";
                            Thread.Sleep(1000);
                        }
                        Utilities.Write(ConsoleColor.Green, "Found ticker " + symbol);
                        Console.ForegroundColor = ConsoleColor.White;
                    }
                    else
                    {
                        Utilities.Write(ConsoleColor.Yellow, "Input symbol: ");
                        Console.ForegroundColor = ConsoleColor.White;
                        symbol = Console.ReadLine();
                    }
                    if (!string.IsNullOrEmpty(symbol))
                    {
                        Program.ExecuteOrder(symbol, config.quantity, config.strategyrisk, config.sellStrategy, config.maxsecondsbeforesell);
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }