예제 #1
0
 /// <summary>
 ///     Queries all orders based on the provided request
 /// </summary>
 /// <param name="request">The <see cref="CurrentOpenOrdersRequest" /> that is used to define the orders</param>
 /// <param name="receiveWindow"></param>
 /// <returns></returns>
 public async Task <List <OrderResponse> > GetCurrentOpenOrdersAsync(CurrentOpenOrdersRequest request,
                                                                     int receiveWindow = -1)
 {
     receiveWindow = SetReceiveWindow(receiveWindow);
     return(await _apiProcessor.ProcessGetRequest <List <OrderResponse> >(
                Endpoints.Account.CurrentOpenOrders(request), receiveWindow));
 }
예제 #2
0
            public static BinanceEndpointData CurrentOpenOrders(CurrentOpenOrdersRequest request)
            {
                var queryString = GenerateQueryStringFromData(request);

                return(new BinanceEndpointData(new Uri($"{BaseUrl}/{ApiVersion}/openOrders?{queryString}"),
                                               EndpointSecurityType.Signed));
            }
예제 #3
0
        public async Task <List <OpenOrder> > GetOpenOrders(string market)
        {
            var request = new CurrentOpenOrdersRequest {
                Symbol = market
            };
            var result = await _client.GetCurrentOpenOrders(request);

            return(result.Select(_ =>
                                 new OpenOrder
            {
                CancelInitiated = (_.Status == BinanceExchange.API.Enums.OrderStatus.Cancelled || _.Status == BinanceExchange.API.Enums.OrderStatus.PendingCancel),
                Exchange = _.Symbol,
                ImmediateOrCancel = (_.TimeInForce == BinanceExchange.API.Enums.TimeInForce.IOC),
                Limit = (double)_.StopPrice,
                OrderType = $"{_.Type.ToString()}_{_.Side.ToString()}".ToUpper(),
                OrderUuid = _.OrderId.ToString(),
                Price = (double)(_.Price * _.OriginalQuantity),
                PricePerUnit = (double)_.Price,
                Quantity = (double)_.OriginalQuantity,
                QuantityRemaining = (double)(_.OriginalQuantity - _.ExecutedQuantity)
            }).ToList());
        }
예제 #4
0
        /// <summary>
        /// Queries all orders based on the provided request
        /// </summary>
        /// <param name="request">The <see cref="CurrentOpenOrdersRequest"/> that is used to define the orders</param>
        /// <param name="receiveWindow"></param>
        /// <returns></returns>
        public async Task <List <OrderResponse> > GetCurrentOpenOrders(CurrentOpenOrdersRequest request, int receiveWindow = 5000)
        {
            Guard.AgainstNull(request.Symbol);

            return(await _apiProcessor.ProcessGetRequest <List <OrderResponse> >(Endpoints.Account.CurrentOpenOrders(request), receiveWindow));
        }