public void Reconnect()
        {
            lock (this)
            {
                timerAuto.Stop();

                Initialized = false;
                Initializing = false;
                initCdlStatus = DataInitStatus.NotStart;
                initRtdStatus = DataInitStatus.NotStart;
                cdlLoadingStatus = DownloadStatus.NotStart;
                rtdLoadingStatus = DownloadStatus.NotStart;

                //currentTInterval = AppSetting.INTEVALS[0];
                isUpdateCandle = false;
                isAddCandle = false;

                if (dataCache != null)
                    dataCache.CleanCache();
                else
                    dataCache = new DataCache(this);

                handler = new ProviderHandler(this);
                ProviderService.RegisterHandler(handler);

                dataCache.InitLocalData();
                if (dataCache.DataUnits.ContainsKey(currentTInterval))
                {
                    List<BarData> datas = dataCache.DataUnits[currentTInterval];
                    Console.WriteLine(" datas   count  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  " + datas.Count);
                    if (datas.Count > 0)
                    {
                        localLastCdlTime = datas[datas.Count - 1].DateTime;
                       hasLocalLastCdlTime = true;
                    }
                }
                else
                {
                    List<BarData> datas = new List<BarData>();
                    dataCache.DataUnits.Add(currentTInterval, datas);
                }
                ProviderService.KickOff();
            }
            timerInit.Start();
            //RaiseValuesUpdateEvent(UpdateType.NewBar, 1, 0);
        }
        //DateTime startTime;
        public void Init()
        {
            lock (this)
            {
                Console.WriteLine(" Start  Now   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  " + DateTime.Now.ToLongTimeString());
                Initialized = false;
                Initializing = false;
                initCdlStatus = DataInitStatus.NotStart;
                initRtdStatus = DataInitStatus.NotStart;
                cdlLoadingStatus = DownloadStatus.NotStart;
                rtdLoadingStatus = DownloadStatus.NotStart;

                //currentTInterval = AppSetting.INTEVALS[0];
                isUpdateCandle = false;
                isAddCandle = false;
                dataCache.InitLocalData();

                    handler = new ProviderHandler( this);
                    ProviderService.RegisterHandler(handler);
                    ProviderService.KickOff();
            }
            InitStart();
        }