Exemple #1
0
        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
                    });
                }
            }
        }
Exemple #2
0
        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;
                }
            }
        }
Exemple #3
0
 private double GetValIndex(PointModel point, List <ParamModel> @params) => point.IndexPoint.Find(i => i.Name == GetStringParam(@params, "Name")).Value[0].Value;