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