Exemple #1
0
        private Stock LoadMinStock(string sId, bool isMa)
        {
            if (!File.Exists(Settings.Default.PrpDataFile))
            {
                return(null);
            }

            PrpTradeDetailParser parser = new PrpTradeDetailParser(Settings.Default.PrpDataFile);
            Stock s = null;

            var std = parser.GetOneStockTradeDetail(sId);

            if (!StockTradeDetails.IsNullOrEmpty(std) && std.DataCount > 10)
            {
                if (!isMa)
                {
                    s = TradeDetails2Stock.Convert(std, CandlePeriod.min1);
                }
                else
                {
                    s = TradeDetails2Stock.ConvertMA(std, CandlePeriod.min1);
                }
            }

            return(s);
        }
Exemple #2
0
        private static void LoadAndConvertStock(List <string> ids, PrpTradeDetailParser parser, string outputFile)
        {
            List <CompleteShare> shares = new List <CompleteShare>();

            foreach (var id in ids)
            {
                var tds = parser.GetOneStockTradeDetail(GetId(id));

                if (!StockTradeDetails.IsNullOrEmpty(tds))
                {
                    var stock = TradeDetails2Stock.Convert(tds, CandlePeriod.min1);

                    var share = FromStock(new Stock(tds.id, stock.Data));
                    shares.Add(share);
                    var stockMa = TradeDetails2Stock.ConvertMA(tds, CandlePeriod.min1);

                    var shareMa = FromStock(new Stock(tds.id + "average", stockMa.Data));
                    shares.Add(shareMa);
                }
            }

            if (shares.Any())
            {
                JsonSerializer jSer = new JsonSerializer();

                if (File.Exists(outputFile))
                {
                    using (JsonTextReader reader = new JsonTextReader(new StreamReader(
                                                                          new FileStream(outputFile, FileMode.Open, FileAccess.Read, FileShare.Read), Encoding.UTF8)))
                    {
                        var oldShares = jSer.Deserialize <CompleteShare[]>(reader);
                        shares.InsertRange(0, oldShares);
                    }
                }

                using (JsonTextWriter writer = new JsonTextWriter(new StreamWriter(
                                                                      new FileStream(outputFile, FileMode.Create, FileAccess.ReadWrite, FileShare.None), Encoding.UTF8)))
                {
                    jSer.Serialize(writer, shares);
                }
            }
        }
Exemple #3
0
        public ChartItemCollection CreateEmptyTimeCollection(ChartItemType type, IPen pen1, IPen pen2, out StockTradeDetails std)
        {
            std = null;

            Stock s = null;

            if (type == ChartItemType.Timely)
            {
                s   = LoadStock(shareId);
                std = LoadDetailDatas();
                if (Stock.IsNullOrEmpty(s))
                {
                    return(null);
                }
            }

            CollectionId        id   = new CollectionId(shareId, GetMarketId());
            ChartItemCollection coll = null;

            switch (type)
            {
            case ChartItemType.Timely:
                var tColl = new SymmetricChartItemCollection(id, null, pen1, null, SymmetricCommonSettings.CNSettings2);
                tColl.StartValue = s.Items.Last().close;
                coll             = tColl;
                break;

            case ChartItemType.TimelyAverage:
                coll = new SymmetricChartItemCollection(id, null, pen1, null, SymmetricCommonSettings.CNSettings2);
                break;

            case ChartItemType.TimelyVolumn:
                coll = new SymmetricVolumnItemCollection(id, null, pen1, pen2, SymmetricCommonSettings.CNSettings2);
                break;

            default:
                break;
            }

            return(coll);
        }