public void Attach(EventBus bus) { EventQueue eventQueue = new EventQueue(1, 0, 2, 25000); eventQueue.name = "attached"; eventQueue.Enqueue(new OnQueueOpened()); bus.dataPipe.Add(eventQueue); this.attached[this.attached_count++] = eventQueue; }
public EventManager(Framework framework, EventBus bus) { this.framework = framework; this.bus = bus; this.factory = new BarFactory(framework); this.dispatcher = new EventDispatcher(framework); this.handler[107] = new EventManager.OnEventHandler(this.OnSimulatorStart); this.handler[108] = new EventManager.OnEventHandler(this.OnSimulatorStop); this.handler[109] = new EventManager.OnEventHandler(this.OnSimulatorProgress); this.handler[2] = new EventManager.OnEventHandler(this.OnBid); this.handler[3] = new EventManager.OnEventHandler(this.OnAsk); this.handler[4] = new EventManager.OnEventHandler(this.OnTrade); this.handler[6] = new EventManager.OnEventHandler(this.OnBar); this.handler[8] = new EventManager.OnEventHandler(this.OnLevel2Snapshot); this.handler[9] = new EventManager.OnEventHandler(this.OnLevel2Update); this.handler[23] = new EventManager.OnEventHandler(this.OnNews); this.handler[22] = new EventManager.OnEventHandler(this.OnFundamental); this.handler[13] = new EventManager.OnEventHandler(this.OnExecutionReport); this.handler[116] = new EventManager.OnEventHandler(this.OnOrderStatusChanged); this.handler[117] = new EventManager.OnEventHandler(this.OnOrderPartiallyFilled); this.handler[118] = new EventManager.OnEventHandler(this.OnOrderFilled); this.handler[119] = new EventManager.OnEventHandler(this.OnOrderReplaced); this.handler[120] = new EventManager.OnEventHandler(this.OnOrderCancelled); this.handler[121] = new EventManager.OnEventHandler(this.OnOrderDone); this.handler[113] = new EventManager.OnEventHandler(this.OnFill); this.handler[110] = new EventManager.OnEventHandler(this.OnPositionOpened); this.handler[111] = new EventManager.OnEventHandler(this.OnPositionClosed); this.handler[112] = new EventManager.OnEventHandler(this.OnPositionChanged); this.handler[15] = new EventManager.OnEventHandler(this.OnReminder); this.handler[50] = new EventManager.OnEventHandler(this.OnGroup); this.handler[52] = new EventManager.OnEventHandler(this.OnGroupEvent); this.handler[130] = new EventManager.OnEventHandler(this.OnHistoricalData); this.handler[131] = new EventManager.OnEventHandler(this.OnHistoricalDataEnd); this.handler[140] = new EventManager.OnEventHandler(this.OnAccountData); if (bus != null) { this.thread = new Thread(new ThreadStart(this.ThreadRun)); this.thread.Name = "Event Manager Thread"; this.thread.IsBackground = true; this.thread.Start(); } }
public Framework(string name, EventBus externalBus, InstrumentServer instrumentServer, DataServer dataServer = null) { this.isExternalDataQueue = true; this.name = name; this.LoadConfiguration(); this.clock = new Clock(this, ClockMode.Realtime, false); this.eventBus = new EventBus(this, EventBusMode.Realtime); this.eventBus.reminderQueue = this.clock.reminderQueue; externalBus.Attach(this.eventBus); this.eventServer = new EventServer(this, this.eventBus); this.eventManager = new EventManager(this, this.eventBus); this.streamerManager = new StreamerManager(); this.streamerManager.Add(new DataObjectStreamer()); this.streamerManager.Add(new InstrumentStreamer()); this.streamerManager.Add(new BidStreamer()); this.streamerManager.Add(new AskStreamer()); this.streamerManager.Add(new QuoteStreamer()); this.streamerManager.Add(new TradeStreamer()); this.streamerManager.Add(new BarStreamer()); this.streamerManager.Add(new Level2SnapshotStreamer()); this.streamerManager.Add(new Level2UpdateStreamer()); this.streamerManager.Add(new NewsStreamer()); this.streamerManager.Add(new FundamentalStreamer()); this.streamerManager.Add(new DataSeriesStreamer()); this.instrumentServer = instrumentServer; this.instrumentManager = new InstrumentManager(this, instrumentServer); this.dataServer = dataServer; this.dataManager = new DataManager(this, dataServer); this.providerManager = new ProviderManager(this, null, new ExecutionSimulator(this)); this.eventLoggerManager = new EventLoggerManager(); this.orderManager = new OrderManager(this); this.portfolioManager = new PortfolioManager(this); this.strategyManager = new StrategyManager(this); this.groupManager = new GroupManager(this); this.currencyConverter = new CurrencyConverter(this); this.dataFileManager = new DataFileManager(Installation.DataDir.FullName); if (Framework.currentFramework == null) { Framework.currentFramework = this; } }
public Framework(string name = "", bool createServers = true) { this.name = name; this.LoadConfiguration(); this.eventBus = new EventBus(this, EventBusMode.Realtime); this.clock = new Clock(this, ClockMode.Realtime, false); this.eventBus.reminderQueue = this.clock.reminderQueue; this.eventServer = new EventServer(this, this.eventBus); this.eventManager = new EventManager(this, this.eventBus); this.streamerManager = new StreamerManager(); this.streamerManager.Add(new DataObjectStreamer()); this.streamerManager.Add(new InstrumentStreamer()); this.streamerManager.Add(new BidStreamer()); this.streamerManager.Add(new AskStreamer()); this.streamerManager.Add(new QuoteStreamer()); this.streamerManager.Add(new TradeStreamer()); this.streamerManager.Add(new BarStreamer()); this.streamerManager.Add(new Level2SnapshotStreamer()); this.streamerManager.Add(new Level2UpdateStreamer()); this.streamerManager.Add(new NewsStreamer()); this.streamerManager.Add(new FundamentalStreamer()); this.streamerManager.Add(new DataSeriesStreamer()); if (createServers) { if (this.configuration.IsInstrumentFileLocal) { this.instrumentServer = new FileInstrumentServer(this, this.configuration.InstrumentFileName, null); } else { this.instrumentServer = new FileInstrumentServer(this, "instruments.quant", this.configuration.InstrumentFileHost); } this.instrumentManager = new InstrumentManager(this, this.InstrumentServer); if (this.configuration.IsDataFileLocal) { this.dataServer = new FileDataServer(this, this.configuration.DataFileName, null); } else { this.dataServer = new FileDataServer(this, "data.quant", this.configuration.DataFileHost); } this.dataManager = new DataManager(this, this.dataServer); } this.providerManager = new ProviderManager(this, null, new ExecutionSimulator(this)); this.eventLoggerManager = new EventLoggerManager(); this.subscriptionManager = new SubscriptionManager(this); this.orderManager = new OrderManager(this); this.portfolioManager = new PortfolioManager(this); this.strategyManager = new StrategyManager(this); this.groupManager = new GroupManager(this); this.accountDataManager = new AccountDataManager(this); this.currencyConverter = new CurrencyConverter(this); this.dataFileManager = new DataFileManager(Installation.DataDir.FullName); if (Framework.currentFramework == null) { Framework.currentFramework = this; } }
public EventServer(Framework framework, EventBus bus) { this.framework = framework; this.bus = bus; }
public void Attach(EventBus bus) { }