Esempio n. 1
0
        //
        //
        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);
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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
            }
        }