Alexander
|
Дата: 14.09.2011
Church Нельзя ли вернуть событие NewMyStrades в класс Strategy? Оно позволяло удобно передавать в обработчик пришедший MyTrade. Теперь приходится делать дополнительные проверки.
Вообще, с правилами не все до конца ясно. Михаил, Александр, можете рассказать, с какой целью были созданы правила (в дополнение к стандартным событиям) и почему при срабатывании условия не передаются никакие параметры? Что-то связанное с производительностью? Не совсем вопросы понятны. NewMyTrades у Strategy есть, также передаётся MyTrade, как и раньше. Код
public event Action<IEnumerable<MyTrade>> NewMyTrades
Если речь идёт про создание дополнительных правил типа LastTradePriceLess, то они созданы для удобства. Во многие из них передаются параметры при срабатывании (по аналогии с NewMyTrades). Если где-то параметров не хватает - пишите, будем разбираться. P.S. Перенёс топик в нужный форум, т.к. данная тема не относится к этому топику.
|
|
Спасибо:
|
|
|
|
|
Church
|
Дата: 14.09.2011
Прошу прощения, видимо не из того модуля смотрел, или не подключил нужный референс. MyNewTrades остался. :)
Относительно передаваемых параметров я имел в виду вот что: условие StrategyNewMyTrades не передает в обработчик (который вызывается через .Do()) никаких параметров, в отличие от события MyNewTrades, которое передает IEnumerable<MyTrades>. По-моему, вторая механика удобнее.
|
|
Спасибо:
|
|
|
|
|
esper
|
Дата: 14.09.2011
Church Прошу прощения, видимо не из того модуля смотрел, или не подключил нужный референс. MyNewTrades остался. :)
Относительно передаваемых параметров я имел в виду вот что: условие StrategyNewMyTrades не передает в обработчик (который вызывается через .Do()) никаких параметров, в отличие от события MyNewTrades, которое передает IEnumerable<MyTrades>. По-моему, вторая механика удобнее. Код
this
.When(this.StrategyNewMyTrades())
.Do<IEnumerable<MyTrades>>(trades =>
{
}
|
|
Спасибо:
|
|
|
|
|
Church
|
Дата: 14.09.2011
esper Church Прошу прощения, видимо не из того модуля смотрел, или не подключил нужный референс. MyNewTrades остался. :)
Относительно передаваемых параметров я имел в виду вот что: условие StrategyNewMyTrades не передает в обработчик (который вызывается через .Do()) никаких параметров, в отличие от события MyNewTrades, которое передает IEnumerable<MyTrades>. По-моему, вторая механика удобнее. Код
this
.When(this.StrategyNewMyTrades())
.Do<IEnumerable<MyTrades>>(trades =>
{
}
Так я получу все сделки, или только ту порцию, которая спровоцировала событие?
|
|
|
|
|
esper
|
Дата: 14.09.2011
Church только ту порцию, которая спровоцировала событие
|
|
|
|
|
Alexander
|
Дата: 14.09.2011
Подтверждаю. Аналогично для свечек, ордеров, ...
|
|
|
|
|
Church
|
Дата: 14.09.2011
Понял, большое спасибо. Не знал фишку.
|
|
Спасибо:
|
|
|
|
|
lshaton
|
Дата: 22.09.2011
|
|
|
|
Church esper Church Прошу прощения, видимо не из того модуля смотрел, или не подключил нужный референс. MyNewTrades остался. :)
Относительно передаваемых параметров я имел в виду вот что: условие StrategyNewMyTrades не передает в обработчик (который вызывается через .Do()) никаких параметров, в отличие от события MyNewTrades, которое передает IEnumerable<MyTrades>. По-моему, вторая механика удобнее. Код
this
.When(this.StrategyNewMyTrades())
.Do<IEnumerable<MyTrades>>(trades =>
{
}
Так я получу все сделки, или только ту порцию, которая спровоцировала событие? А как грамотно подвязать метод Protect к списку сделок: this .When(this.StrategyNewMyTrades()) .Do<IEnumerable<MyTrade>>(trades => { // StrategyRuleActionHelper.Protect(trades , new Unit(10), new Unit(10)); ... Эта перегрузка Protect(StrategyRule, IEnumerable<(Of <<'(MyTrade>)>>), Unit, Unit) не вписывается вышеприведенный фрагмент - почему-то приводит к ошибке. А добавлять StrategyRuleActionHelper.Protect(this.When(this.StrategyNewMyTrades()), trades, new Unit(40), new Unit(20)); в событие как-то криво.. Может есть идея?
|
|
Спасибо:
|
|
|
|
|
Alexander
|
Дата: 25.09.2011
|
|
|
|
lshaton Church esper Church Прошу прощения, видимо не из того модуля смотрел, или не подключил нужный референс. MyNewTrades остался. :)
Относительно передаваемых параметров я имел в виду вот что: условие StrategyNewMyTrades не передает в обработчик (который вызывается через .Do()) никаких параметров, в отличие от события MyNewTrades, которое передает IEnumerable<MyTrades>. По-моему, вторая механика удобнее. Код
this
.When(this.StrategyNewMyTrades())
.Do<IEnumerable<MyTrades>>(trades =>
{
}
Так я получу все сделки, или только ту порцию, которая спровоцировала событие? А как грамотно подвязать метод Protect к списку сделок: this .When(this.StrategyNewMyTrades()) .Do<IEnumerable<MyTrade>>(trades => { // StrategyRuleActionHelper.Protect(trades , new Unit(10), new Unit(10)); ... Эта перегрузка Protect(StrategyRule, IEnumerable<(Of <<'(MyTrade>)>>), Unit, Unit) не вписывается вышеприведенный фрагмент - почему-то приводит к ошибке. А добавлять StrategyRuleActionHelper.Protect(this.When(this.StrategyNewMyTrades()), trades, new Unit(40), new Unit(20)); в событие как-то криво.. Может есть идея? Подправили, будет фикс в новой версии
|
|
Спасибо:
|
|
|
|