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


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

[code=csharp] var newPositionToOpen = this.CreateOrder(newOrderDirection, newOrderPrice, 1); newPositionToOpen.WhenMatched().Do(() => newPositionToOpen.WhenNewTrades().Do(OnNewOrderTrades).Apply(this)).Apply(this); [/code]

где

[code=csharp] private void OnNewOrderTrades(IEnumerable myTrades) { var protectiveStrategies = myTrades.Select(t => { var newStrategyFromTrade = new StopLossStrategy(t, new Unit(TraderHelper.ShrinkPrice(t.Trade.Security, stopLossParameter * (decimal)currentParams.candleSize))) ;

            return newStrategyFromTrade;
        });

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

        base.OnNewMyTrades(myTrades);
    }

[/code]

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

Пасиба.


Теги:


Спасибо:


kesot

Фотография
Дата: 20.02.2014
Ответить


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

Спасибо: Rebelion


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy