Пример #1
0
        public StockVolumnList GetStockItems(string id)
        {
            StockVolumnList result = null;

            var share = shares.FirstOrDefault(s => s.StockId == id);

            if (share != null)
            {
                result = FromCompleteStock(share);
            }

            return(result);
        }
Пример #2
0
        private StockVolumnList FromCompleteStock(CompleteShare s)
        {
            StockVolumnList svList = new StockVolumnList();

            if (s.Dates != null)
            {
                svList.Prices  = new List <StockItem>(s.Dates.Count);
                svList.Volumns = new List <VolumnItem>(s.Dates.Count);

                double preClose = calChangeByStart ? s.Closes[0] : 0;
                for (int i = 0; i < s.Dates.Count; i++)
                {
                    var sItem = new StockItem()
                    {
                        Date        = s.Dates[i],
                        Value       = s.Closes[i],
                        ValueChange = i != 0 ? (s.Closes[i] - preClose) / preClose : 0,
                        High        = s.Highs[i],
                        Low         = s.Lows[i],
                        Open        = s.Opens[i]
                    };

                    svList.Prices.Add(sItem);

                    svList.Volumns.Add(new VolumnItem()
                    {
                        Date     = s.Dates[i],
                        Value    = s.Volumns[i],
                        Turnover = s.Turnovers[i],
                        IsRaise  = s.Closes[i] > s.Opens[i] || (s.Closes[i] == s.Opens[i] && sItem.CloseChange > 0)
                    });
                    if (!calChangeByStart)
                    {
                        preClose = s.Closes[i];
                    }
                }
            }

            return(svList);
        }
Пример #3
0
        public void CreateCandle()
        {
            string id = "000001";
            //Load chart items
            StockVolumnList svList = loader.GetStockItems(id);
            //Create collection id
            CollectionId collId = new CollectionId(id);
            //Create pens
            IPen raisePen = DrawingObjectFactory.CreatePen(Brushes.Red, 1);
            IPen fallPen  = DrawingObjectFactory.CreatePen(Brushes.Green, 1);
            //Create stock item collection
            StockItemCollection stockColl = new StockItemCollection(collId, svList.Prices, raisePen, fallPen, null);

            //Set main collection
            priceControl.SetMainCollection(stockColl);
            //Create volumn item collection
            VolumnItemCollection volumnColl = new VolumnItemCollection(collId, svList.Volumns, raisePen, fallPen);

            //Set main collection
            volumnControl.SetMainCollection(volumnColl);
            //Connect two controls
            priceControl.AddConnection(volumnControl);
        }
Пример #4
0
        public void CreateTime()
        {
            string id = "600100";

            StockVolumnList svList = timeLoader.GetStockItems(id);

            //Create collection id
            CollectionId collId = new CollectionId(id);
            //Create pens
            IPen raisePen = DrawingObjectFactory.CreatePen(Brushes.Red, 1);
            IPen fallPen  = DrawingObjectFactory.CreatePen(Brushes.Green, 1);
            //Create stock item collection
            SymmetricChartItemCollection stockColl = new SymmetricChartItemCollection(collId, svList.Prices, raisePen, null, SymmetricCommonSettings.CNSettings);

            //Set main collection
            priceControl.SetMainCollection(stockColl);
            //Create volumn item collection
            SymmetricVolumnItemCollection volumnColl = new SymmetricVolumnItemCollection(collId, svList.Volumns, raisePen, fallPen, SymmetricCommonSettings.CNSettings);

            //Set main collection
            volumnControl.SetMainCollection(volumnColl);
            //Connect two controls
            priceControl.AddConnection(volumnControl);
        }