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)); }
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)); }
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); }
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; } } }