public ActionResult EnterDataROC(EnterDataROC enterDataROC) { if (ModelState.IsValid) { Double ROC; List <NewMarket> marketObject = new List <NewMarket>(); DateTime time = new DateTime(1899, 12, 30, 23, 59, 00); int p = enterDataROC.period; NewMarket newMarket = new NewMarket(); DateTime currentdate = enterDataROC.SelectDate; DateTime daybefore = currentdate.AddDays(-p); marketObject = _context.NewMarkets.OrderBy(c => c.date).Where(c => c.type == enterDataROC.Market && c.date >= daybefore && c.date <= enterDataROC.SelectDate && c.time == time).ToList(); ROC = (marketObject[marketObject.Count - 1].closingPrice - marketObject[0].closingPrice) * 100 / marketObject[0].closingPrice; ViewBag.C = ROC; return(View()); } return(View(enterDataROC)); }
public ActionResult EnterDataStoch(EnterDataROC model) { if (ModelState.IsValid) { List <NewMarket> marketObject = new List <NewMarket>(); DateTime time = new DateTime(1899, 12, 30, 23, 59, 00); DateTime date = model.SelectDate; DateTime before = date.AddDays(-model.period); marketObject = _context.NewMarkets.OrderBy(c => c.date).Where(c => c.type == model.Market && c.date >= before && c.date <= model.SelectDate && c.time == time).ToList(); var minimumLow = marketObject.Select(c => c.lowestPrice).Min(); var maximumHigh = marketObject.Select(c => c.highestPrice).Max(); var currClose = marketObject.OrderByDescending(c => c.time).Select(c => c.closingPrice).FirstOrDefault(); var STOCH = ((currClose - minimumLow) / (maximumHigh - minimumLow)) * 100; ViewBag.A = STOCH; return(View()); } return(View(model)); }