← Zurück

Вопрос по организации стопов

Т.к. у меня периодически на новой версии (4.2.x) библиотеки возникают проблемы (кросс-сделки, приводящие к бесконечному перевыставлению заявки), подскажите, камрады, верно ли я прописываю код регистрации нового трейлинг-стопа?


                            var newPositionToOpen = this.CreateOrder(newOrderDirection, newOrderPrice, 1);
                            newPositionToOpen.WhenMatched().Do(() => newPositionToOpen.WhenNewTrades().Do(OnNewOrderTrades).Apply(this)).Apply(this);

где


        private void OnNewOrderTrades(IEnumerable<MyTrade> myTrades)
        {
            var protectiveStrategies = myTrades.Select(t =>
            {
                var newStrategyFromTrade = new StopLossStrategy(t, new Unit(TraderHelper.ShrinkPrice(t.Trade.Security, stopLossParameter * (decimal)currentParams.candleSize))) { IsTrailing = true, UseQuoting = false, PriceOffset = (decimal)currentParams.candleSize*3, DisposeOnStop = true, ProtectiveVolume = t.Trade.Volume, MaxRegisterFailCount = 5, };

                return newStrategyFromTrade;
            });

            foreach(var s in protectiveStrategies)
                ChildStrategies.Add(s);

            base.OnNewMyTrades(myTrades);
        }

Мне кажется, что где-то здесь у мну ошибка - мб кто поможет нубу да прокомментирует?

Пасиба.

War dieses Thema hilfreich?

Thema teilen

Kommentare (1)

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

kesot
kesot

вызывая базовый метод base.OnNewMyTrades(myTrades); ты создаешь бесконечную рекурсию. тут косяк.

Rebelion