public void LoadHistoricalChartData(object chartIdentifier, DateTime startDate, DateTime endDate)
        {
            ChartIdentifier = chartIdentifier;
            StartDate       = startDate;
            EndDate         = endDate;

            Market market = chartIdentifier as Market;

            ezDateRange dateRangeRequested = new ezDateRange();
            ezDateRange dateRangeProcessed = new ezDateRange();

            // Start with an empty set of TradeBars.
            chartData.TradeBars.Clear();

            // Load the data for the selected market.
            BarInterval     interval     = new BarInterval(APIConvert.ToChartInterval(BarInterval.Interval), BarInterval.Period);
            ChartDataSeries ctsChartData = new ChartDataSeries(market, interval, SessionTimeRange.Empty);

            var session = new ezSessionTimeRange();

            /*EZChartDataSeries myChartData = new EZChartDataSeries(market.Description, BarInterval, session);
             * myChartData.DataLoadComplete += myChartData_DataLoadComplete;
             * myChartData.DataSeriesUpdated += myChartData_DataSeriesUpdated;*/

            var chartThread = new ChartDataThread(ctsChartData, chartData, startDate, endDate);

            var thread = new Thread(new ThreadStart(chartThread.Run));

            thread.Name = market.Description + ":" + BarInterval;
            thread.Start();


            //if (DataLoadComplete != null) DataLoadComplete(this, new ezDataLoadCompleteEventArgs(zDataLoadStatus.Success, dateRangeRequested, dateRangeProcessed));
        }
 public void DataProviderLoadComplete()
 {
     if (DataLoadComplete != null)
     {
         ezDateRange requested = new ezDateRange();
         ezDateRange processed = new ezDateRange();
         DataLoadComplete(this, new ezDataLoadCompleteEventArgs(zDataLoadStatus.Success, requested, processed));
     }
 }
        public void LoadHistoricalChartData(object chartIdentifier, DateTime startDate, DateTime endDate)
        {
            string ticker = chartIdentifier as string;

            int startYear  = startDate.Year;
            int startMonth = startDate.Month - 1;   // have to subtract 1 from the month to get the right data from Yahoo
            int startDay   = startDate.Day;
            int endYear    = endDate.Year;
            int endMonth   = endDate.Month - 1;     // have to subtract 1 from the month to get the right data from Yahoo
            int endDay     = endDate.Day;

            ezDateRange dateRangeRequested = new ezDateRange();
            ezDateRange dateRangeProcessed = new ezDateRange();

            List <HistoricalStock> historical = YahooHistoricalDownloader.Instance.DownloadData(ticker, startDate, endDate);

            // Start with an empty set of TradeBars.
            chartData.TradeBars.Clear();

            // Yahoo downloads the data in reverse date order (most recent dates first, then previous day, and so on). So
            // we need to reverse it when we put it into our chart data.
            for (int i = historical.Count - 1; i >= 0; i--)
            {
                HistoricalStock hs  = historical[i];
                ezBarDataPoint  bdp = new ezBarDataPoint();
                bdp.TradeDate = hs.Date;
                bdp.Open      = hs.Open;
                bdp.High      = hs.High;
                bdp.Low       = hs.Low;
                bdp.Close     = hs.Close;
                bdp.Volume    = hs.Volume;

                chartData.TradeBars.Add(bdp);
            }

            if (DataLoadComplete != null)
            {
                DataLoadComplete(this, new ezDataLoadCompleteEventArgs(zDataLoadStatus.Success, dateRangeRequested, dateRangeProcessed));
            }
        }
 public ezDataLoadCompleteEventArgs(zDataLoadStatus status, ezDateRange requested, ezDateRange processed)
 {
     this.status             = status;
     this.dateRangeRequested = requested;
     this.dateRangeProcessed = processed;
 }