Esempio n. 1
0
        private void DispatcherTimer__Tick(object sender, EventArgs e)
        {
            Logger_.Debug("Tick: {0}ms", dispatcherStopwatch_.ElapsedMilliseconds);

            ad_.Read(buffer_, 0, buffer_.Length);
            dataSource_.AppendMany(
                buffer_.Select(
                    value => new Point(samples_++ / ad_.SamplingRate, value)
                    ));

            double xLeftLimit = Math.Max(0, samples_ / ad_.SamplingRate - SecondsPerScreen);

            adDataChart_.Viewport.Visible = new Rect(
                xLeftLimit,
                -1.5,
                SecondsPerScreen,
                3.0
                );

            var elapsedMs = stopwatch_.ElapsedMilliseconds;

            if (elapsedMs - previousTimePoint_ >= 1000)
            {
                var samplingRate = (double)samples_ / elapsedMs * 1000;
                Logger_.Debug("Sampling Rate: {0} / {1} = {2}", samples_, elapsedMs, samplingRate);
                previousTimePoint_ = elapsedMs;
            }
        }
Esempio n. 2
0
        public void DownloadAllData(List <int> stockIds, DateTime startDate, DateTime endDate)
        {
            IDailyDownloader downloader = new ShDailyDownloader();

            StockMongoDBSaver dbsaver = new StockMongoDBSaver();

            dbsaver.BeforeAdd();

            foreach (int id in stockIds)
            {
                Logger_.Log("Download data of stock: " + id);
                downloader.DownloadData(dbsaver, id, startDate, endDate);
            }

            Logger_.Log("Download all data finished!");
        }