/// <summary> /// 將設定檔轉換為 InstrumentDataRequest 列表的格式 /// </summary> /// <param name="requests">RequestSetting 陣列</param> /// <returns>返回值: InstrumentDataRequest 列表</returns> public static List<InstrumentDataRequest> Convert(RequestSetting[] requests) { List<InstrumentDataRequest> cResult = new List<InstrumentDataRequest>(); foreach (RequestSetting cRequest in requests) { string[] sPeriods = cRequest.DataPeriod.Split(','); int iPeriodSize = int.Parse(sPeriods[0]); EResolution cResolution = (EResolution) Enum.Parse(typeof(EResolution), sPeriods[1]); InstrumentDataRequest cDataRequest = new InstrumentDataRequest() { Exchange = cRequest.Exchange, DataFeed = cRequest.DataFeed, Resolution = new Resolution(cResolution, iPeriodSize), Symbol = cRequest.SymbolId }; string[] sParams = cRequest.Range.Split(','); string sMode = sParams[0]; string[] sArgs = sParams[1].Split(';'); switch (sMode) { case "barsBack": cDataRequest.Range = DataRequest.CreateBarsBack(DateTime.Parse(sArgs[0]), int.Parse(sArgs[1])); break; case "daysBack": cDataRequest.Range = DataRequest.CreateDaysBack(DateTime.Parse(sArgs[0]), int.Parse(sArgs[1])); break; case "fromTo": cDataRequest.Range = DataRequest.CreateFromTo(DateTime.Parse(sArgs[0]), DateTime.Parse(sArgs[1])); break; } cResult.Add(cDataRequest); } return cResult; }
internal frmCreateScriptSetting() { __cChartSetting = new ChartSetting(); __cRequestSetting = new RequestSetting(); __cAddSymbolIds = new Dictionary<string, string>(64); InitializeComponent(); InitializeSourceGrid(); }