← Zurück

CandleBuilder

Добрый день. Раньше было так:

var cf = new MyCandleFactory(); candleManager.UnRegisterCandleFactory(typeof(TimeFrameCandle)); candleManager.RegisterCandleFactory(cf);

А теперь как? В CandleBuilder есть свойство Factories, но я там не нашел методов регистрации и отмены регистрации. Нужно просто добавить фабрику через метод Add()? а как удалить старую?

И еще вопрос, если создать CandleManager через конструктор который принимает ITrader, как подключить собственную фабрику?

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

InsiderHSE: а как удалить старую?

Remove

InsiderHSE: И еще вопрос, если создать CandleManager через конструктор который принимает ITrader, как подключить собственную фабрику?

((CandleBuilder)manager.Sources[0]).Factories.Add()

RomSunZ
RomSunZ

Подскажите как более правильно написать код по регистрации своей CandlrFactory? В версии 4.03 я похоже через "попу" удаляю регистрацию TimeFrameCandleFactory:


                case CandleTypes.TimeFrame:
                    TimeFrameCandleFactoryDelta candleFactory = new TimeFrameCandleFactoryDelta();
                    /*
                    _candleManager.UnRegisterCandleFactory(typeof(TimeFrameCandle));
                    _candleManager.RegisterCandleFactory(candleFactory);
                    token = _candleManager.RegisterTimeFrameCandles(security, this.TimeFrame.SelectedTime);
                     */
                    var factories=((CandleBuilder)candleManager.Sources[0]).Factories;
                    foreach (var tf in factories)
                    {
                        var tp = tf.GetType();
                        if (tp == typeof(TimeFrameCandleFactory)) 
                        { factories.Remove(tf);
                          break;
                        }
                    }
                    factories.Add(candleFactory);
                    token = candleManager.Register(typeof(TimeFrameCandle), security, this.TimeFrame.SelectedTime);
                    break;


Mikhail Sukhov
Mikhail Sukhov

RomSunZ: Подскажите как более правильно написать код по регистрации своей CandlrFactory? В версии 4.03 я похоже через "попу" удаляю регистрацию TimeFrameCandleFactory:

Да, неудобно получается. Добавлю метод удаления фабрики по типу свечки.