Beispiel #1
0
        public static void Add(IProvider provider)
        {
            ProviderManager.providers.AddProvider(provider);
            if (provider is IExecutionProvider)
            {
                ProviderManager.executionProviders.AddProvider(provider);
            }
            if (provider is IMarketDataProvider)
            {
                ProviderManager.marketDataProviders.AddProvider(provider);
            }
            if (provider is IInstrumentProvider)
            {
                ProviderManager.instrumentProviders.AddProvider(provider);
            }
            if (provider is IHistoricalDataProvider)
            {
                ProviderManager.historicalDataProviders.AddProvider(provider);
            }
            provider.Connected     += new EventHandler(ProviderManager.EmitConnected);
            provider.Disconnected  += new EventHandler(ProviderManager.EmitDisconnected);
            provider.StatusChanged += new EventHandler(ProviderManager.EmitStatusChanged);
            provider.Error         += new ProviderErrorEventHandler(ProviderManager.OnProviderError);
            ProviderManager.EmitAdded(provider);
            IMarketDataProvider marketDataProvider = provider as IMarketDataProvider;

            if (marketDataProvider != null)
            {
                marketDataProvider.NewQuote                += new QuoteEventHandler(ProviderManager.EmitNewQuote);
                marketDataProvider.NewTrade                += new TradeEventHandler(ProviderManager.EmitNewTrade);
                marketDataProvider.NewBar                  += new BarEventHandler(ProviderManager.EmitNewBar);
                marketDataProvider.NewBarOpen              += new BarEventHandler(ProviderManager.EmitNewBarOpen);
                marketDataProvider.NewBarSlice             += new BarSliceEventHandler(ProviderManager.EmitNewBarSlice);
                marketDataProvider.NewMarketDepth          += new MarketDepthEventHandler(ProviderManager.EmitNewMarketDepth);
                marketDataProvider.NewFundamental          += new FundamentalEventHandler(ProviderManager.EmitNewFundamental);
                marketDataProvider.NewCorporateAction      += new CorporateActionEventHandler(ProviderManager.EmitNewCorporateAction);
                marketDataProvider.MarketDataRequestReject += new MarketDataRequestRejectEventHandler(ProviderManager.EmitMarketDataRequestReject);
            }
            IExecutionProvider executionProvider = provider as IExecutionProvider;

            if (executionProvider != null)
            {
                executionProvider.ExecutionReport   += new ExecutionReportEventHandler(ProviderManager.EmitExecutionReport);
                executionProvider.OrderCancelReject += new OrderCancelRejectEventHandler(ProviderManager.EmitOrderCancelReject);
            }
            ProviderManager.LoadProviderProperties(provider);
        }
Beispiel #2
0
        public static void Add(IProvider provider)
        {
//			if (Framework.Installation.Edition == Edition.Research)
//			{
//				switch (provider.Id)
//				{
//					case (byte) 1:
//					case (byte) 2:
//					case (byte) 17:
//					case (byte) 19:
//					case (byte) 25:
//						break;
//					case (byte) 18:
//						return;
//					default:
//						return;
//				}
//			}
            ProviderManager.providers.AddProvider(provider);
            if (provider is IExecutionProvider)
            {
                ProviderManager.executionProviders.AddProvider(provider);
            }
            if (provider is IMarketDataProvider)
            {
                ProviderManager.marketDataProviders.AddProvider(provider);
            }
            if (provider is IInstrumentProvider)
            {
                ProviderManager.instrumentProviders.AddProvider(provider);
            }
            if (provider is IHistoricalDataProvider)
            {
                ProviderManager.historicalDataProviders.AddProvider(provider);
            }
            provider.Connected     += new EventHandler(ProviderManager.EmitConnected);
            provider.Disconnected  += new EventHandler(ProviderManager.EmitDisconnected);
            provider.StatusChanged += new EventHandler(ProviderManager.EmitStatusChanged);
            provider.Error         += new ProviderErrorEventHandler(ProviderManager.OnProviderError);
            ProviderManager.EmitAdded(provider);
            IMarketDataProvider marketDataProvider = provider as IMarketDataProvider;

            if (marketDataProvider != null)
            {
                marketDataProvider.NewQuote                += new QuoteEventHandler(ProviderManager.EmitNewQuote);
                marketDataProvider.NewTrade                += new TradeEventHandler(ProviderManager.EmitNewTrade);
                marketDataProvider.NewBar                  += new BarEventHandler(ProviderManager.EmitNewBar);
                marketDataProvider.NewBarOpen              += new BarEventHandler(ProviderManager.EmitNewBarOpen);
                marketDataProvider.NewBarSlice             += new BarSliceEventHandler(ProviderManager.EmitNewBarSlice);
                marketDataProvider.NewMarketDepth          += new MarketDepthEventHandler(ProviderManager.EmitNewMarketDepth);
                marketDataProvider.NewFundamental          += new FundamentalEventHandler(ProviderManager.EmitNewFundamental);
                marketDataProvider.NewCorporateAction      += new CorporateActionEventHandler(ProviderManager.EmitNewCorporateAction);
                marketDataProvider.MarketDataRequestReject += new MarketDataRequestRejectEventHandler(ProviderManager.EmitMarketDataRequestReject);
            }
            IExecutionProvider executionProvider = provider as IExecutionProvider;

            if (executionProvider != null)
            {
                executionProvider.ExecutionReport   += new ExecutionReportEventHandler(ProviderManager.EmitExecutionReport);
                executionProvider.OrderCancelReject += new OrderCancelRejectEventHandler(ProviderManager.EmitOrderCancelReject);
            }
            ProviderManager.LoadProviderProperties(provider);
        }