// // protected override void SetupInitialize(IEngineHub myEngineHub, IEngineContainer engineContainer, int engineID, bool setupGui) { if (typeof(UV.Strategies.ExecutionHubs.ExecutionContainers.MultiThreadContainer).IsAssignableFrom(engineContainer.GetType())) { // this is the "first" set up call from the manager container. base.SetupInitialize(myEngineHub, engineContainer, engineID, setupGui); m_MultiThreadContainer = (MultiThreadContainer)engineContainer; m_MultiThreadContainer.TryAddEngine(m_Scratcher); // we need to add our sub engines to the container, just to allow set up and messaging to correctly function } else { // this is the second set up call from the correct container, add correct sub engine mappings ThreadContainer execContainer = (ThreadContainer)engineContainer; execContainer.TryAddEngine(m_Scratcher); if (execContainer.IOrderEngine is CurveTrader) { m_CurveTrader = (CurveTrader)execContainer.IOrderEngine; } m_MultiThreadContainer.TryAddEngineIdToManagingContainer(execContainer, m_Scratcher.EngineID); } }
private OrderEventArgs m_OrderEventArg; // careful, but this is always recycled #endregion // members #region Constructors // ***************************************************************** // **** Constructors **** // ***************************************************************** // // protected override void SetupInitialize(IEngineHub myEngineHub, IEngineContainer engineContainer, int engineID, bool setupGui) { if (typeof(UV.Strategies.ExecutionHubs.ExecutionContainers.MultiThreadContainer).IsAssignableFrom(engineContainer.GetType())) { // this is the "first" set up call from the manager container. base.SetupInitialize(myEngineHub, engineContainer, engineID, setupGui); m_Log = ((ExecutionHubs.ExecutionHub)myEngineHub).Log; } else { // this is the second set up call from the correct container, add correct sub engine mappings m_ExecutionContainer = (ThreadContainer)engineContainer; } }
private Dictionary <int, int> m_OppositeOrderIDToIPrice = new Dictionary <int, int>(); // map order ids to IPrice we want to scratch #endregion // members #region Constructors // ***************************************************************** // **** Constructors **** // ***************************************************************** // protected override void SetupInitialize(IEngineHub myEngineHub, IEngineContainer engineContainer, int engineID, bool setupGui) { this.m_EngineName = string.Format("Scratcher:{0}", m_PriceLeg.InstrumentName); if (typeof(UV.Strategies.ExecutionHubs.ExecutionContainers.MultiThreadContainer).IsAssignableFrom(engineContainer.GetType())) { // this is the "first" set up call from the manager container. base.SetupInitialize(myEngineHub, engineContainer, engineID, setupGui); m_Log = ((ExecutionHubs.ExecutionHub)myEngineHub).Log; // keep pointer to log } else { // this is the second set up call from the correct container, add correct sub engine mappings } }