TTInstrument processInstrumentFound(Instrument instrument) { Dispatcher dispatcher = Dispatcher.Current; //Dispatcher dispatcher = _dispatcher; PriceSubscription priceSub = new PriceSubscription(instrument, dispatcher); if (SubscribeMarketDepth == true) { priceSub.Settings = new PriceSubscriptionSettings(PriceSubscriptionType.MarketDepth); } else { priceSub.Settings = new PriceSubscriptionSettings(PriceSubscriptionType.InsideMarket); } priceSub.FieldsUpdated += new FieldsUpdatedEventHandler(priceSub_FieldsUpdated); priceSub.Start(); InstrumentTradeSubscription its = new InstrumentTradeSubscription(_apiSession, dispatcher, instrument); its.EnablePNL = true; its.ProfitLossChanged += new EventHandler <ProfitLossChangedEventArgs>(its_ProfitLossChanged); its.Start(); if (SubscribeTimeAndSales == true) { TimeAndSalesSubscription tsSub = new TimeAndSalesSubscription(instrument, dispatcher); tsSub.Update += new EventHandler <TimeAndSalesEventArgs>(tsSub_Update); tsSub.Start(); } TTInstrument tti = NewTTInstrument(instrument); tti.TradeSubscription = its; its.Tag = tti; tti.OrderRoute = OrderRoute.GetOrderRoute(tti, instrument.Product.Market.Name); return(tti); }
TTSpread processSpreadFound(Instrument instrument) { PriceSubscription priceSub = new PriceSubscription(instrument, Dispatcher.Current); priceSub.Settings = new PriceSubscriptionSettings(PriceSubscriptionType.InsideMarket); priceSub.FieldsUpdated += new FieldsUpdatedEventHandler(priceSub_FieldsUpdated); priceSub.Start(); ASInstrumentTradeSubscription its = new ASInstrumentTradeSubscription(_apiSession, Dispatcher.Current, instrument as AutospreaderInstrument); its.EnablePNL = true; its.ProfitLossChanged += new EventHandler <ProfitLossChangedEventArgs>(its_ProfitLossChanged); its.Start(); TTSpread tts = NewTTSpread(instrument); tts.TradeSubscription = its; tts.OrderRoute = OrderRoute.GetOrderRoute(tts, instrument.Product.Market.Name); return(tts); }