// PRIVATE STATIC //-------------------------------------- // Methods //-------------------------------------- // PUBLIC ///<summary> /// Constructor ///</summary> public WoodenBarWithWine(IBarFactory aIBarFactory) { // //Debug.Log ("WoodenBarWithWine.constructor()"); _tables_gameobjects = aIBarFactory.createTables(); _drinks_gameobjects = aIBarFactory.createDrinks(); }
public Foo(IBarFactory barFactory, IAsyncClassFactory asyncClassFactory) { string name = "This is from Foo"; Bar = barFactory.Create(name); Task.Run(async() => { ClassAsync = asyncClassFactory.Create(Bar); await ClassAsync.InitializeAsync(); }).Wait(); }
private void Init(MarketDataProvider provider, string NewBarOpen, string NewBar, string NewMarketBar) { _NewBar = NewBar; _NewBarOpen = NewBarOpen; _NewMarketBar = NewMarketBar; //得到OpenQuant.API.MarketDataProvider内的SmartQuant.Providers.IMarketDataProvider接口 marketDataProvider = (IMarketDataProvider)provider.GetType().GetField("provider", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(provider); factory = marketDataProvider.BarFactory; // 遍历,得到对应的事件 foreach (var e in marketDataProvider.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic)) { switch (e.FieldType.ToString()) { case "SmartQuant.Providers.QuoteEventHandler": NewQuoteField = e; // 很遗憾,不能提前在保存下来 //(MulticastDelegate)NewQuoteField.GetValue(marketDataProvider); break; case "SmartQuant.Providers.TradeEventHandler": NewTradeField = e; break; case "SmartQuant.Providers.BarEventHandler": // 有三个这样的事件,怎么识别呢? // 由于混淆了代码,没法识别,只能人工先判断 // 判断的方法,1.断点, // 2.模拟下的 v8UpctWIWM(SeriesObjectEventArgs args1) if (e.Name == _NewBarOpen) { NewBarOpenField = e; } else if (e.Name == _NewBar) { NewBarField = e; } else if (e.Name == _NewMarketBar) { NewMarketBarField = e; } else { Console.WriteLine("{0} 没有识别出来,需人工处理!", e.Name); } break; } } }
public ExtMarketDataFilter(MarketDataProvider provider) { //得到OpenQuant.API.MarketDataProvider内的SmartQuant.Providers.IMarketDataProvider接口 marketDataProvider = (IMarketDataProvider)provider.GetType().GetField("provider", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(provider); factory = marketDataProvider.BarFactory; // 遍历,得到对应的两个事件 foreach (var e in marketDataProvider.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic)) { //Console.WriteLine(e); switch (e.FieldType.ToString()) { case "SmartQuant.Providers.QuoteEventHandler": NewQuoteField = e; // 很遗憾,不能提前在保存下来 //(MulticastDelegate)NewQuoteField.GetValue(marketDataProvider); break; case "SmartQuant.Providers.TradeEventHandler": NewTradeField = e; break; } } }
public override void Init() { //Console.WriteLine("We are in atscQT init."); //if (null == instrument) return; strat = base.Strategy; ms = strat.ATSMetaStrategy; mm = strat.MarketManager; dsZero = new DoubleSeries("Zero"); dsZero.Color = Color.Black; //individual = (Individual) strat.Global[ "Individual" ]; GPOptimizer gpo = (GPOptimizer)ms.Optimizer; individual = gpo.curIndividual; //gpstrategy.EmitSignalInit(this); bars = new BarSeries("Bars"); dsTrade = new DoubleSeries("Trades"); smaTrades = new SMA(dsTrade, intTradeSmoothing); dsTradeVolume = new DoubleSeries("Trade Volume"); dsBid = new DoubleSeries("Bid"); dsAsk = new DoubleSeries("Ask"); dsBidAskSpread = new DoubleSeries("Bid Ask Spread"); smaBidAskSpread = new SMA(dsBidAskSpread, intBidAskSpreadSmoothing); dsBidAskMidPoint = new DoubleSeries("Bid Ask Midpoint"); smaBidAskMidPoint = new SMA(dsBidAskMidPoint, intBidAskSmoothing); dsBidAskKama0 = new DoubleSeries("Bid Ask Kama 0"); dsBidAskKama1 = new DoubleSeries("Bid Ask Kama 1"); dsTradeER0 = new DoubleSeries("Trade ER 0"); dsTradeER1 = new DoubleSeries("Trade ER 1"); //dsBidAskER0 = new DoubleSeries("Bid Ask ER 0"); //dsBidAskER1 = new DoubleSeries("Bid Ask ER 1"); dsReturns = new DoubleSeries("Trade Returns"); stats = new Statistics(dsTrade); dsKurtosis = new DoubleSeries("Kurtosis"); dsSkew = new DoubleSeries("Skew"); /* * dtCurrentDay = new DateTime(0); * try { * daily = DataManager.GetDailySeries(this.instrument); * } * catch { * new Exception("couldn't load ds for instrument " + instrument.Symbol); * } */ DateTime dtStartingDate; if (MetaStrategyMode.Live == strat.ATSMetaStrategy.MetaStrategyMode) { dtStartingDate = DateTime.Today; string prov = "IQFeed"; IBarFactory factory = ProviderManager.MarketDataProviders[prov].BarFactory; factory.Items.Clear(); factory.Items.Add(new BarFactoryItem(BarType.Time, 60, true)); instrument.RequestMarketData( ProviderManager.MarketDataProviders[prov], MarketDataType.Quote); instrument.RequestMarketData( ProviderManager.MarketDataProviders[prov], MarketDataType.Trade); tsStart = new TimeSpan(10, 30, 0); tsStop = new TimeSpan(16, 55, 0); } else { dtStartingDate = strat.MetaStrategyBase.SimulationManager.EntryDate; IBarFactory factory = ProviderManager.MarketDataProviders[1].BarFactory; factory.Items.Clear(); factory.Items.Add(new BarFactoryItem(BarType.Time, 60, true)); tsStart = new TimeSpan(9, 30, 0); tsStop = new TimeSpan(15, 55, 0); } //Console.WriteLine( "StartingDate {0}", dtStartingDate ); dtCurrentDay = dtStartingDate.Date; /* * Bar barDay1; * * int i = daily.GetIndex(dtStartingDate.Date, EIndexOption.Prev); * barDay1 = daily[i]; * if (barDay1.DateTime.Date == dtStartingDate.Date) { * i--; // realtime will come up with different one from simulation, depending upon what is dateset * // ie, there is no bar or information for today, only the previous trading day * barDay1 = daily[i]; * } */ }
public BarManager(CMContext context, ICocktailManager cocktailManager, IBarFactory barFactory) { _context = context ?? throw new ArgumentNullException(nameof(context)); _cocktailManager = cocktailManager ?? throw new ArgumentNullException(nameof(cocktailManager)); _barFactory = barFactory ?? throw new ArgumentNullException(nameof(barFactory)); }
public static void SaveProviderProperties() { foreach (IProvider provider in ProviderManager.providers) { foreach (PropertyInfo propertyInfo in provider.GetType().GetProperties()) { if (propertyInfo.CanRead && propertyInfo.CanWrite && (propertyInfo.PropertyType.IsValueType || propertyInfo.PropertyType == typeof(string))) { object obj = propertyInfo.GetValue(provider, null); // if (obj != null) // t7qr3Pw9BqfEc7uE03.mTsjrEw5W().kGvLO8MRnR(propertyInfo.Name, propertyInfo.PropertyType, obj.ToString()); } } if (provider is IMarketDataProvider) { IBarFactory barFactory = (provider as IMarketDataProvider).BarFactory; if (barFactory != null) { // r0Hb6IvhG2qUmE6ALG hb6IvhG2qUmE6Alg = t7qr3Pw9BqfEc7uE03.oFCn3DIZM(); // hb6IvhG2qUmE6Alg.WSMQ7NAan(barFactory.GetType()); // hb6IvhG2qUmE6Alg.FvwPGCHwF(barFactory.Enabled); // hb6IvhG2qUmE6Alg.rtkz5NMi1(barFactory.Input); // foreach (BarFactoryItem item in barFactory.Items) // hb6IvhG2qUmE6Alg.S2sttA3GOO().pkKLYFc0JS(item); foreach (PropertyInfo propertyInfo in barFactory.GetType().GetProperties()) { if (propertyInfo.DeclaringType != typeof(BarFactory) && propertyInfo.CanRead && propertyInfo.CanWrite && (propertyInfo.PropertyType.IsValueType || propertyInfo.PropertyType == typeof(string))) { object obj = propertyInfo.GetValue(barFactory, null); if (obj != null) { ; } // hb6IvhG2qUmE6Alg.O8xtLSXFit().kGvLO8MRnR(propertyInfo.Name, propertyInfo.PropertyType, obj.ToString()); } } } } // doc.Save(Path.Combine(Framework.Installation.IniDir.FullName, PROVIDER_PROPS_FILE)); } // CUsHnTDPJW7M4WgDtf cusHnTdpjW7M4WgDtf = new CUsHnTDPJW7M4WgDtf(); // foreach (IProvider provider in ProviderManager.rVCt6TF5nk) // { // t7qr3PW9BqfEC7uE03 t7qr3Pw9BqfEc7uE03 = cusHnTdpjW7M4WgDtf.UyAg6fUFwm(); // t7qr3Pw9BqfEc7uE03.X9BcqfEC7(provider.Name); // foreach (PropertyInfo propertyInfo in provider.GetType().GetProperties()) // { // if (propertyInfo.CanRead && propertyInfo.CanWrite && (propertyInfo.PropertyType.IsValueType || propertyInfo.PropertyType == typeof (string))) // { // object obj = propertyInfo.GetValue((object) provider, (object[]) null); // if (obj != null) // t7qr3Pw9BqfEc7uE03.mTsjrEw5W().kGvLO8MRnR(propertyInfo.Name, propertyInfo.PropertyType, obj.ToString()); // } // } // if (provider is IMarketDataProvider) // { // IBarFactory barFactory = (provider as IMarketDataProvider).BarFactory; // if (barFactory != null) // { // r0Hb6IvhG2qUmE6ALG hb6IvhG2qUmE6Alg = t7qr3Pw9BqfEc7uE03.oFCn3DIZM(); // hb6IvhG2qUmE6Alg.WSMQ7NAan(barFactory.GetType()); // hb6IvhG2qUmE6Alg.FvwPGCHwF(barFactory.Enabled); // hb6IvhG2qUmE6Alg.rtkz5NMi1(barFactory.Input); // foreach (BarFactoryItem barFactoryItem in barFactory.Items) // hb6IvhG2qUmE6Alg.S2sttA3GOO().pkKLYFc0JS(barFactoryItem); // foreach (PropertyInfo propertyInfo in barFactory.GetType().GetProperties()) // { // if (propertyInfo.DeclaringType != typeof (BarFactory) && propertyInfo.CanRead && propertyInfo.CanWrite && (propertyInfo.PropertyType.IsValueType || propertyInfo.PropertyType == typeof (string))) // { // object obj = propertyInfo.GetValue((object) barFactory, (object[]) null); // if (obj != null) // hb6IvhG2qUmE6Alg.O8xtLSXFit().kGvLO8MRnR(propertyInfo.Name, propertyInfo.PropertyType, obj.ToString()); // } // } // } // } // } // cusHnTdpjW7M4WgDtf.Save(Framework.Installation.IniDir.FullName + GojrKtfk5NMi1fou68.a17L2Y7Wnd(614)); }
internal BarFactory(IBarFactory barFactory) { this.barFactory = barFactory; }
// PRIVATE STATIC //-------------------------------------- // Methods //-------------------------------------- // PUBLIC ///<summary> /// Constructor ///</summary> public WoodenBarWithWine (IBarFactory aIBarFactory) { // //Debug.Log ("WoodenBarWithWine.constructor()"); _tables_gameobjects = aIBarFactory.createTables(); _drinks_gameobjects = aIBarFactory.createDrinks(); }
public Foo(IBarFactory barFactory) { this.barFactory = barFactory; }
public BarServices(CocktailMagicianDb context, IBarFactory barFactory, IBarCocktailFactory barCocktailFactory) { this.context = context; this.barFactory = barFactory; this.barCocktailFactory = barCocktailFactory; }