示例#1
0
 public ModuleFramework(IUnityContainer container, IRegionManager regionManager, IEventAggregator eventAggregator,
                        IQuoteUpdateService quoteserviceupdate, IStrategyQuoteFeedService feedstrategyservice, ILoggerFacade logger)
 {
     this._container            = container;
     this._regionManager        = regionManager;
     this._eventAggregator      = eventAggregator;
     this._logger               = logger;
     this._quoteupdateservice   = quoteserviceupdate;
     this._feedstrategyservice  = feedstrategyservice;
     this._configmanagerservice = ServiceLocator.Current.GetInstance <IConfigManager>() as ConfigManager;
     this._globalidservice      = ServiceLocator.Current.GetInstance <IGlobalIdService>();
 }
 public ModuleFramework(IUnityContainer container, IRegionManager regionManager, IEventAggregator eventAggregator, 
     IQuoteUpdateService quoteserviceupdate, IStrategyQuoteFeedService feedstrategyservice, ILoggerFacade logger)
 {
     this._container = container;
     this._regionManager = regionManager;
     this._eventAggregator = eventAggregator;
     this._logger = logger;
     this._quoteupdateservice = quoteserviceupdate;
     this._feedstrategyservice = feedstrategyservice;
     this._configmanagerservice = ServiceLocator.Current.GetInstance<IConfigManager>() as ConfigManager;
     this._globalidservice = ServiceLocator.Current.GetInstance<IGlobalIdService>();
 }
        public QuoteDispatcherService(IQuoteUpdateService quoteviewupdateservvice, IStrategyQuoteFeedService feedstrategyquoteservice, TickArchiver tickarchiveservice, ILoggerFacade logger, BlockingCollection<Tick> tickqueue)
        {
            this._quoteviewupdateservice = quoteviewupdateservvice;
            this._feedstrategyquoteservice = feedstrategyquoteservice;
            this._tickarchiveservice = tickarchiveservice;
            this._tickqueue = tickqueue;
            this._logger = logger;
            ConfigManager conf = Microsoft.Practices.ServiceLocation.ServiceLocator.Current.GetInstance<IConfigManager>() as ConfigManager;
            sampletime_ = conf.TickSampleTime;

            IObservable<MyEventArgs<Tick>> tickObservable = System.Reactive.Linq.Observable.FromEvent<MyEventArgs<Tick>>(
                        h => TickReceived += h, h => TickReceived -= h);
            
            // only select trade
            // .BufferWithTime(TimeSpan.FromMilliseconds(_od))
            // .Where(x => x.Count > 0)
            // .Subscribe(DataReceived, LogError);
            tickObservable.Where(e => e.Value.IsTrade).GroupBy(e => e.Value.FullSymbol)
                .Subscribe(group => group.Sample(TimeSpan.FromSeconds(sampletime_))
                    .Subscribe(QuoteDispatcher));
        }
示例#4
0
        public QuoteDispatcherService(IQuoteUpdateService quoteviewupdateservvice, IStrategyQuoteFeedService feedstrategyquoteservice, TickArchiver tickarchiveservice, ILoggerFacade logger, BlockingCollection <Tick> tickqueue)
        {
            this._quoteviewupdateservice   = quoteviewupdateservvice;
            this._feedstrategyquoteservice = feedstrategyquoteservice;
            this._tickarchiveservice       = tickarchiveservice;
            this._tickqueue = tickqueue;
            this._logger    = logger;
            ConfigManager conf = Microsoft.Practices.ServiceLocation.ServiceLocator.Current.GetInstance <IConfigManager>() as ConfigManager;

            sampletime_ = conf.TickSampleTime;

            IObservable <MyEventArgs <Tick> > tickObservable = System.Reactive.Linq.Observable.FromEvent <MyEventArgs <Tick> >(
                h => TickReceived += h, h => TickReceived -= h);

            // only select trade
            // .BufferWithTime(TimeSpan.FromMilliseconds(_od))
            // .Where(x => x.Count > 0)
            // .Subscribe(DataReceived, LogError);
            tickObservable.Where(e => e.Value.IsTrade).GroupBy(e => e.Value.FullSymbol)
            .Subscribe(group => group.Sample(TimeSpan.FromSeconds(sampletime_))
                       .Subscribe(QuoteDispatcher));
        }