public override void Subscribe(Instrument instrument)
        {
            if (instrument.Parent != null)
            {
                this.strategyBySynthInstrument[instrument.Id] = this.strategyBySynthInstrument[instrument.Parent.Id];
                this.strategyBySynthInstrument[instrument.Id].OnSubscribe(instrument);
                return;
            }
            SellSideInstrumentStrategy sellSideInstrumentStrategy = (SellSideInstrumentStrategy)Activator.CreateInstance(base.GetType(), new object[]
            {
                this.framework,
                string.Concat(new object[]
                {
                    base.Name,
                    "(",
                    instrument,
                    ")"
                })
            });

            this.SetupStrategy(sellSideInstrumentStrategy);
            sellSideInstrumentStrategy.Instrument         = instrument;
            this.strategyBySynthInstrument[instrument.Id] = sellSideInstrumentStrategy;
            sellSideInstrumentStrategy.OnSubscribe(instrument);
            sellSideInstrumentStrategy.dataProvider      = base.DataProvider;
            sellSideInstrumentStrategy.executionProvider = base.ExecutionProvider;
            sellSideInstrumentStrategy.raiseEvents       = true;
            base.AddStrategy(sellSideInstrumentStrategy, false);
            sellSideInstrumentStrategy.OnStrategyStart();
        }