Ejemplo n.º 1
0
        public static async Task <IList <Trade> > GetTradeHistory(this PoloniexClient client, DateTime?start = null, DateTime?end = null, Int32?limit = null)
        {
            Dictionary <String, Trade[]> CustomDeserializer(String value)
            {
                if (value == "[]")
                {
                    return(new Dictionary <String, Trade[]>());
                }

                return(JsonConvert.DeserializeObject <Dictionary <String, Trade[]> >(value));
            }

            var response = await client.SendRequestAsync <Dictionary <String, Trade[]> >(new PoloniexRequest
            {
                Api        = PoloniexApi.Trading,
                Command    = "returnTradeHistory",
                Parameters =
                {
                    { "currencyPair", "all"                               },
                    { "start",        start?.ToUnixTimestamp().ToString() },
                    { "end",          end?.ToUnixTimestamp().ToString()   },
                    { "limit",        limit?.ToString()                   }
                }
            }, CustomDeserializer);

            return(response.SelectMany(x =>
            {
                foreach (var value in x.Value)
                {
                    value.CurrencyPair = x.Key;
                }

                return x.Value;
            }).ToList());
        }
Ejemplo n.º 2
0
        public static async Task <IList <Trade> > GetTradeHistory(this PoloniexClient client, String currencyPair, DateTime?start = null, DateTime?end = null, Int32?limit = null)
        {
            var trades = await client.SendRequestAsync <Trade[]>(new PoloniexRequest
            {
                Api        = PoloniexApi.Trading,
                Command    = "returnTradeHistory",
                Parameters =
                {
                    { "currencyPair", currencyPair                        },
                    { "start",        start?.ToUnixTimestamp().ToString() },
                    { "end",          end?.ToUnixTimestamp().ToString()   },
                    { "limit",        limit?.ToString()                   }
                }
            });

            foreach (var trade in trades)
            {
                trade.CurrencyPair = currencyPair;
            }

            return(trades);
        }