예제 #1
0
        public async Task <WebCallResult <IEnumerable <ICommonOrder> > > GetOpenOrdersAsync(string symbol = null)
        {
            var request = new BitmexRequestWithFilter()
            {
                Symbol = symbol,
            };

            request.AddFilter("open", true);
            var result = await GetOrdersAsync(request);

            return(result.As <IEnumerable <ICommonOrder> >(result.Data));
        }
예제 #2
0
        public async Task <WebCallResult <ICommonOrder> > GetOrderAsync(string orderId, string symbol = null)
        {
            var request = new BitmexRequestWithFilter()
            {
                Symbol = symbol
            };

            request.AddFilter("orderID", orderId);
            var foo = await GetOrdersAsync(request);

            return(foo.As <ICommonOrder>(foo ? foo.Data.FirstOrDefault() : null));
        }
예제 #3
0
        /// <summary>
        /// timespan can be either 1 minute, 5 minutes, 1 hour, 1 day
        /// </summary>
        /// <param name="symbol"></param>
        /// <param name="timespan"> </param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        public async Task <WebCallResult <IEnumerable <ICommonKline> > > GetKlinesAsync(string symbol, TimeSpan timespan, DateTime?startTime = null, DateTime?endTime = null, int?limit = null)
        {
            var request = new BitmexRequestWithFilter()
            {
                Symbol    = symbol,
                StartTime = startTime,
                EndTime   = endTime,
                Count     = limit ?? 100,
            };
            var binSize = timespan.ToBitmexTimeFrameString();
            var result  = await GetTradesBucketedAsync(binSize, false, request);

            return(result.As <IEnumerable <ICommonKline> >(result.Data));
        }
예제 #4
0
        public async Task <WebCallResult <IEnumerable <ICommonTrade> > > GetTradesAsync(string orderId, string symbol = null)
        {
            var request = new BitmexRequestWithFilter()
            {
                Symbol = symbol
            };

            request.AddFilter("orderID", orderId);
            // Without "execType=Trade" filter the result will contain fundings payments
            // if orderID do not match with any order's ID
            request.AddFilter("execType", "Trade");
            var foo = await GetExecutionsTradeHistoryAsync(request);

            return(foo.As <IEnumerable <ICommonTrade> >(foo.Data));
        }