public override bool Equals(object obj) { BarRequest barRequest = obj as BarRequest; return(barRequest != null && barRequest.BarType == this.BarType && barRequest.BarSize == this.BarSize); }
private DataRequests BuildStrategyRequest() { bool flag1 = false; bool flag2 = false; bool flag3 = false; bool flag4 = false; bool flag5 = false; List <OpenQuant.API.BarRequest> list = new List <OpenQuant.API.BarRequest>(); foreach (MarketDataRequest marketDataRequest in this.requests) { if (marketDataRequest.Enabled) { switch (marketDataRequest.RequestType) { case RequestType.Trade: flag3 = true; continue; case RequestType.Quote: flag2 = true; continue; case RequestType.MarketDepth: flag5 = true; continue; case RequestType.Bar: flag1 = true; BarRequest barRequest = marketDataRequest as BarRequest; if (barRequest.IsBarFactoryRequest) { flag3 = true; } list.Add(new OpenQuant.API.BarRequest(this.ConvertBarType(barRequest.BarType), barRequest.BarSize, barRequest.IsBarFactoryRequest)); continue; case RequestType.Daily: flag4 = true; continue; default: continue; } } } DataRequests dataRequests = new DataRequests(); dataRequests.GetType().GetProperty("HasBarRequests", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.SetProperty).SetValue((object)dataRequests, flag1, (object[])null); dataRequests.GetType().GetProperty("HasTradeRequest", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.SetProperty).SetValue((object)dataRequests, flag3, (object[])null); dataRequests.GetType().GetProperty("HasQuoteRequest", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.SetProperty).SetValue((object)dataRequests, flag2, (object[])null); dataRequests.GetType().GetProperty("HasDailyRequest", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.SetProperty).SetValue((object)dataRequests, flag4, (object[])null); dataRequests.GetType().GetProperty("HasMarketDepthRequest", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.SetProperty).SetValue((object)dataRequests, flag5, (object[])null); MethodInfo methodInfo1 = (MethodInfo)null; foreach (MethodInfo methodInfo2 in dataRequests.BarRequests.GetType().GetMethods()) { if (methodInfo2.Name == "Add" && methodInfo2.GetParameters().Length == 1) { methodInfo1 = methodInfo2; } } foreach (OpenQuant.API.BarRequest barRequest in list) { methodInfo1.Invoke((object)dataRequests.BarRequests, new object[1] { (object)barRequest }); } return(dataRequests); }