Esempio n. 1
0
        public async Task <BaseStock> GetStockAsync(string symbol, IntradayIntervals intradayInterval)
        {
            try
            {
                var url    = GenerateUrl(symbol, intradayInterval);
                var result = await _client.GetStringAsync(url).ConfigureAwait(false);


                switch (intradayInterval)
                {
                case IntradayIntervals.one:
                    return(JsonConvert.DeserializeObject <OneMinuteStock>(result));

                case IntradayIntervals.five:
                    return(JsonConvert.DeserializeObject <FiveMinuteStock>(result));

                case IntradayIntervals.fifteen:
                    return(JsonConvert.DeserializeObject <FifteenMinuteStock>(result));

                case IntradayIntervals.thirty:
                    return(JsonConvert.DeserializeObject <ThirtyMinuteStock>(result));

                case IntradayIntervals.sixty:
                    return(JsonConvert.DeserializeObject <SixtyMinuteStock>(result));

                default:
                    return(JsonConvert.DeserializeObject <BaseStock>(result));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(null);
            }
        }
Esempio n. 2
0
        public static string ToDescription(this IntradayIntervals intradayInterval)
        {
            switch (intradayInterval)
            {
            case IntradayIntervals.five:
                return("5min");

            case IntradayIntervals.fifteen:
                return("15min");

            case IntradayIntervals.thirty:
                return("30min");

            case IntradayIntervals.sixty:
                return("60min");

            case IntradayIntervals.one:
            default:
                return("1min");
            }
        }
Esempio n. 3
0
        private string GenerateUrl(string symbol, IntradayIntervals intradayInterval)
        {
            var interval = intradayInterval.ToDescription();

            return($"https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol={symbol}&interval={interval}&apikey=YX612V0DYAM9M5B3");
        }