public ViewResult List(SearchCandlestickRangeInputViewModel svm)
        {
            string            timeInMilliseconds = new DateTimeOffset(svm.EndTime).ToUnixTimeMilliseconds().ToString();
            string            query   = "/api/v1/klines?symbol=" + svm.Symbol + "&interval=" + svm.Interval + "&endTime=" + timeInMilliseconds + "&limit=" + svm.Limit;//"/api/v3/time";
            HttpClientHandler handler = new HttpClientHandler();

            handler.DefaultProxyCredentials = CredentialCache.DefaultCredentials;
            HttpClient client = new HttpClient(handler);

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Authorization");
            var result = client.GetAsync(new Uri(burl + query)).Result;

            if (result.IsSuccessStatusCode)
            {
                string myContent          = result.Content.ReadAsStringAsync().Result;
                var    candlestickRange   = JsonConvert.DeserializeObject <List <List <string> > >(myContent);
                var    listOfCandlesticks = new List <CandlestickViewModel>();
                foreach (var candlestick in candlestickRange)
                {
                    CandlestickViewModel cvm = new CandlestickViewModel(candlestick);
                    listOfCandlesticks.Add(cvm);
                }

                WriteToTextFile(svm.Symbol, svm.EndTime.ToString(), listOfCandlesticks);
                return(View(svm));
            }


            SearchCandlestickRangeInputViewModel errorSvm = new SearchCandlestickRangeInputViewModel();

            errorSvm.Symbol = result.ReasonPhrase;
            //ViewBag.Message = text;
            return(View(errorSvm));
        }
        public ViewResult Pattern(SearchCandlestickRangeInputViewModel svm)
        {
            //string timeInMilliseconds = new DateTimeOffset(svm.EndTime).ToUnixTimeMilliseconds().ToString();
            //List<Pattern> Patterns = new List<Pattern>();
            var listOfCandlesticks = new List <Candlestick>();
            int counter            = 0;
            List <PatternViewModel> patternViewModels = new List <PatternViewModel>();

            foreach (var ticker in Tickers)
            {
                counter++;
                Ticker tick = GetPrice(ticker);
                listOfCandlesticks.AddRange(GetCandlesticks(ticker, svm.Interval, svm.Limit));
                patternViewModels.Add(CreatePVM(tick, GetCandlesticks(ticker, svm.Interval, svm.Limit)));
                //if (counter > 5)
                //    break;
            }
            List <PatternViewModel> Patterns = new List <PatternViewModel>();

            if (listOfCandlesticks.Count > 0)
            {
                List <Ticker> TickersThatPassedBullFlagTest = new List <Ticker>();
                var           GroupByTicker = listOfCandlesticks.GroupBy(x => x.Symbol).ToList();
                foreach (IEnumerable <Candlestick> ticker in GroupByTicker)
                {
                    Ticker validTicker = CheckIfBullFlagPattern(ticker.ToList <Candlestick>());
                    if (validTicker != null)
                    {
                        TickersThatPassedBullFlagTest.Add(validTicker);
                    }
                }
                if (TickersThatPassedBullFlagTest.Count > 0)
                {
                    //SendEmailForTickersThatPassedBullFlagTest(TickersThatPassedBullFlagTest);
                    foreach (var ticker in TickersThatPassedBullFlagTest)
                    {
                        PatternViewModel pvm = CreatePVM(ticker, listOfCandlesticks);
                        if (pvm != null)
                        {
                            Patterns.Add(pvm);
                        }
                    }
                }
            }
            return(View(Patterns));
        }