Ejemplo n.º 1
0
        public async Task <Core.Model.Order> PlaceOrder(Core.Model.User user, Core.Model.ClientOrder clientOrder, long recWindow = 0, CancellationToken cancellationToken = default)
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            var binanceApi = new BinanceApi();

            using var apiUser = new BinanceApiUser(user.ApiKey, user.ApiSecret);
            var order  = OrderHelper.GetOrder(apiUser, clientOrder);
            var result = await binanceApi.PlaceAsync(order).ConfigureAwait(false);

            return(NewOrder(user, result));
        }
Ejemplo n.º 2
0
        public override OrderResult PlaceOrder(Position position, String symbol, Decimal quantity)
        {
            MarketOrder order = new MarketOrder(m_User)
            {
                Quantity = quantity,
                Side     = (position == Position.Buy) ? OrderSide.Buy : OrderSide.Sell,
                Symbol   = symbol
            };

            Order   result           = m_Api.PlaceAsync(order).Result;
            Decimal executedQuantity = result.ExecutedQuantity;
            Decimal otherQuantity    = result.CummulativeQuoteAssetQuantity;
            Decimal fees             = result.Fills.Where(x => x.CommissionAsset == "BNB").Sum(x => x.Commission);

            return(new OrderResult(executedQuantity, otherQuantity, fees));
        }
Ejemplo n.º 3
0
        private async Task OrderBase(OrderSide order, string orderBase, string orderSymbol, decimal amount)
        {
            throw new NotImplementedException();
            var clientOrder = new MarketOrder(_user)
            {
                Symbol   = $"{orderBase}{orderSymbol}",
                Side     = order,
                Quantity = amount
            };

            // Validate client order.
            clientOrder.Validate();

            // Send the order.
            await _binanceClient.PlaceAsync(clientOrder);
        }
Ejemplo n.º 4
0
        public async Task BinanceBuySell(string BuyOrSell)
        {
            var api = new BinanceApi();

            if (await api.PingAsync())
            {
                Console.WriteLine("Successfull");
                switch (BuyOrSell)
                {
                case "buy":
                    using (var user = new BinanceApiUser("yIruCEm5k2TkExflzSf183xBp4HUt66G2BDx6WJqlL7HATRyJmcgp5UAiqYl0XsF", "BEqWhtDUPDIpNmaHFxA5ZhXLElcS74oal6yHLEx5sbE5gu46EsYLAfWAx1veyUr0"))
                    {
                        // Create a client (MARKET) order.
                        var clientOrder = new MarketOrder(user)
                        {
                            Symbol   = Symbol.ETH_BTC,
                            Side     = Binance.OrderSide.Buy,
                            Quantity = 1m
                        };

                        try
                        {
                            // Send the TEST order.
                            await api.PlaceAsync(clientOrder);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine($"TEST Order Failed: \"{e.Message}\"");
                        }
                        WithdrawRequest withdrawRequest = new WithdrawRequest(user)
                        {
                            Address = "",
                            Amount  = 2,
                            Asset   = Asset.ETH,
                        };
                        await api.WithdrawAsync(withdrawRequest);
                    }
                    break;

                case "sell":
                    using (var user = new BinanceApiUser("yIruCEm5k2TkExflzSf183xBp4HUt66G2BDx6WJqlL7HATRyJmcgp5UAiqYl0XsF", "BEqWhtDUPDIpNmaHFxA5ZhXLElcS74oal6yHLEx5sbE5gu46EsYLAfWAx1veyUr0"))
                    {
                        WithdrawRequest withdrawRequest = new WithdrawRequest(user)
                        {
                            Address = "",
                            Amount  = 2,
                            Asset   = Asset.BTC,
                        };
                        // Create a client (MARKET) order.
                        var clientOrder = new MarketOrder(user)
                        {
                            Symbol   = Symbol.ETH_BTC,
                            Side     = Binance.OrderSide.Sell,
                            Quantity = 1m
                        };

                        try
                        {
                            // Send the TEST order.
                            await api.PlaceAsync(clientOrder);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine($"TEST Order Failed: \"{e.Message}\"");
                        }
                        await api.WithdrawAsync(withdrawRequest);
                    }
                    break;
                }
            }
        }