private void GetScale(List <DateModel> dateModels) { DateTime CurrDate; DateTime Date1; if (dateModels.Count == 1) { dateModels.Add(new DateModel() { Points = new List <PointModel>(), Scale = "D" }); dateModels.Find(i => i.Scale == "D").Points.Add(dateModels[0].Points[0]); } else { CurrDate = dateModels.Find(i => i.Scale == "60").Points.Last().Date; Date1 = dateModels.Find(i => i.Scale == "D").Points.Last().Date; if (CurrDate.Date == Date1.Date) { PointModel pointD = dateModels.Find(i => i.Scale == "D").Points.Last(); PointModel point60 = dateModels.Find(i => i.Scale == "60").Points.Last(); pointD.High = Math.Max(pointD.High, point60.High); pointD.Low = Math.Min(pointD.Low, point60.Low); pointD.Close = point60.Close; pointD.Vol = pointD.Vol + point60.Vol; } else { PointModel point60 = dateModels.Find(i => i.Scale == "60").Points.Last(); dateModels.Find(i => i.Scale == "D").Points.Add(new PointModel() { Close = point60.Close, Vol = point60.Vol, Date = point60.Date, High = point60.High, Low = point60.Low, Open = point60.Open }); } } }
private void AddVal(PointModel point, string name, string type, string namePoint, double val) { int ii = point.IndexPoint.FindIndex(I1 => I1.Name == name); if (ii == -1) { List <IndexPoint> indexPoints = new List <IndexPoint> { new IndexPoint { Name = namePoint, Value = val } }; point.IndexPoint.Add(new Index() { Name = name, Type = type, Value = indexPoints }); } else { int i = point.IndexPoint[ii].Value.FindIndex(i1 => i1.Name == namePoint); if (i == -1) { point.IndexPoint[ii].Value.Add(new IndexPoint() { Name = namePoint, Value = val }); } else { point.IndexPoint[ii].Value[i].Value = (double)val; } } }
private double GetValIndex(PointModel point, List <ParamModel> @params) => point.IndexPoint.Find(i => i.Name == GetStringParam(@params, "Name")).Value[0].Value;