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)); }