public override void Execute() { IsProcessing = true; if (AppContext.FirstDataProvider != null && AppContext.TradeAnalyzerControl == null) { // TO DO } else { if (!IsGetHisInfo) { IsGetHisInfo = true; string request = ""; Console.WriteLine(" ProviderHandler Send ~~~~~~~~~~~ " + Protocol.M0003_1); if (provider.HasLocalLastCdlTime) { request = NetHelper.BuildMsg(Protocol.M0003_1, new string[] { provider.Symbol.ToString(), AppUtil.IntervalToString(provider.CurrentTInterval), provider.LocalLastCdlTime.Add(AppConst.AppTimeSpans[provider.CurrentTInterval]).ToString(FORMAT) }); } else { request = NetHelper.BuildMsg(Protocol.M0003_1, new string[] { provider.Symbol.ToString(), AppUtil.IntervalToString(provider.CurrentTInterval), NULL }); } Send(request); } else if (!IsGetSignalInfo) { IsGetSignalInfo = true; Console.WriteLine(" ProviderHandler Send ~~~~~~~~~~~ " + Protocol.C0004_2); string request = ""; DateTime time = DateTime.Now; //time = time.AddMonths(-6); time = DateTime.Parse("2009-09-01 00:00:00"); if (provider.HasLocalLastSigTime) { request = NetHelper.BuildMsg(Protocol.C0004_2, new string[] { provider.Symbol.ToString(), AppUtil.IntervalToString(AppContext.FirstDataProvider.CurrentTInterval), provider.LocalLastSigTime.ToString(FORMAT) }); } else { request = NetHelper.BuildMsg(Protocol.C0004_2, new string[] { provider.Symbol.ToString(), AppUtil.IntervalToString(AppContext.FirstDataProvider.CurrentTInterval), time.ToString(FORMAT) }); } Send(request); } else if (!IsGetRealTimeInfo) { IsGetRealTimeInfo = true; Console.WriteLine(" ProviderHandler Send ~~~~~~~~~~~ " + Protocol.C0003_2); string request = NetHelper.BuildMsg(Protocol.C0003_2, new string[] { provider.Symbol.ToString(), AppUtil.IntervalToString(provider.CurrentTInterval), provider.StartTime.ToString(FORMAT) }); Send(request); } } }