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


Вопрос по организации стопов
Atom Reply
1/19/2014


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

Code

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


где

Code

        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);
        }


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

Пасиба.

Tags:


Thanks:




1 Answers
kesot

Avatar
Date: 2/20/2014
Reply


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


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy