Beispiel #1
0
        public static Period ToBittrexEquivalent(this Core.Models.Period period)
        {
            switch (period)
            {
            case Core.Models.Period.Day:
                return(Period.Day);

            case Core.Models.Period.FiveMinutes:
                return(Period.FiveMin);

            case Core.Models.Period.HalfAnHour:
                return(Period.ThirtyMin);

            case Core.Models.Period.Hour:
                return(Period.Hour);

            case Core.Models.Period.Minute:
                return(Period.OneMin);

            case Core.Models.Period.FourHours:
            case Core.Models.Period.QuarterOfAnHour:
            case Core.Models.Period.TwoHours:
                throw new ArgumentException($"{period} has no mapping");

            default:
                throw new ArgumentException($"{period} is an unknown value for Period");
            }
        }
Beispiel #2
0
        public async Task <List <Core.Models.Candle> > GetTickerHistory(string market, DateTime startDate, Core.Models.Period period = Core.Models.Period.FiveMinutes)
        {
            var result = await _api.GetTickerHistory(market, startDate.ToUnixTimestamp(), period.ToBittrexEquivalent());

            if (!result.Success)
            {
                throw new Exception($"Bittrex API failure {result.Message}");
            }

            return(result.Result.ToGenericCandles());
        }