Example #1
0
        // PRIVATE STATIC


        //--------------------------------------
        //  Methods
        //--------------------------------------
        // PUBLIC

        ///<summary>
        ///	 Constructor
        ///</summary>
        public WoodenBarWithWine(IBarFactory aIBarFactory)
        {
            //
            //Debug.Log ("WoodenBarWithWine.constructor()");
            _tables_gameobjects = aIBarFactory.createTables();
            _drinks_gameobjects = aIBarFactory.createDrinks();
        }
Example #2
0
        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();
        }
Example #3
0
        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;
                }
            }
        }
        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 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;
                }
            }
        }
Example #7
0
    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];
         * }
         */
    }
Example #8
0
 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));
 }
Example #9
0
        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));
        }
Example #10
0
 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();
			
		}
Example #12
0
 public Foo(IBarFactory barFactory)
 {
     this.barFactory = barFactory;
 }
Example #13
0
		internal BarFactory(IBarFactory barFactory)
		{
			this.barFactory = barFactory;
		}
 public BarServices(CocktailMagicianDb context, IBarFactory barFactory, IBarCocktailFactory barCocktailFactory)
 {
     this.context            = context;
     this.barFactory         = barFactory;
     this.barCocktailFactory = barCocktailFactory;
 }