private List <Trade> GetBitFinexTrades(string security, int count, DateTime end) { try { Thread.Sleep(8000); Dictionary <string, string> param = new Dictionary <string, string>(); if (end == DateTime.MaxValue) { param.Add("", "t" + security + "/hist" + "?" + "limit=" + count); } else { param.Add("", "t" + security + "/hist" + "?" + "limit=" + count + "&end=" + (end - new DateTime(1970, 1, 1)).TotalMilliseconds); } var response = _client.GetTrades(param); var tradesHist = Candles.FromJson(response); List <Trade> trades = new List <Trade>(); for (int i = 0; i < tradesHist.Count; i++) { DateTime time = new DateTime(1970, 1, 1) + TimeSpan.FromMilliseconds(tradesHist[i][1]); Trade newTrade = new Trade(); newTrade.Time = time; newTrade.SecurityNameCode = security; double vol = tradesHist[i][2]; newTrade.Volume = Math.Abs(Convert.ToDecimal(vol)); newTrade.Price = Convert.ToDecimal(tradesHist[i][3]); if (vol > 0) { newTrade.Side = Side.Buy; } else { newTrade.Side = Side.Sell; } trades.Insert(0, newTrade); } return(trades); } catch (Exception e) { SendLogMessage(e.ToString(), LogMessageType.Error); return(null); } }