4.1.2 Проблемы с удалением правил из стратегии.

4.1.2 Проблемы с удалением правил из стратегии.


Не могу разобраться как удалить правило из стратегии после перехода на 4.1.
Для примера возьмем правило которое теперь называется Trader.WhenTimeCome. Если использовать его в качестве таймера который вызывает некий метод раз в секунду то до 4.1 код выглядел примерно так.

Код

nextCall = Trader.MarketTime.AddSecond(1);
this.When.Ttrader.TimeCome(nextCall)
    .Do(Meth);


public void Meth()
{
Rules.Remove(Trader.TimeCome(nextCall);
nextCall = Trader.MarketTime.AddSecond(1);
this.When.Ttrader.TimeCome(nextCall)
    .Do(Meth);
}


Вот как я реализовал этот код в 4.1

Код

nextCall = Trader.MarketTime.AddSecond(1);
this.Trader.WhenTimeCome(nextCall)
    .Do(Meth).Apply(this);


public void Meth()
{
Rules.Remove(Trader.TimeCome(nextCall);
nextCall = Trader.MarketTime.AddSecond(1);
this.Trader.WhenTimeCome(nextCall)
    .Do(Meth);
}


Проблема в том что зарегистрированное правило не удаляется привычным образом, и при регистрации очередного программа падает из-за не обрабатываемого исключения. Добавив вывод на экран значения Rules.Count я пришёл к выводу что у меня не получается уменьшить это значение ни одним из доступных способов(Rules.Remove(); TryRemoveRule(); Rules.Clear())
Подскажите что я делаю не так?

Теги:


Спасибо:


< 1 2 3 
ra81

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


esper

т.е. правил в стратегии больше нет, но стратегия продолжает работать. Версия последняя с codeplex.

Если стратегия останавливается сама по себе, то надо смотреть что она пишет в лог и какие ошибки выдает.


Тогда вопрос на засыпку. У вас там между приходом сделки и остановской стратегии проходит меньше секунды. Вы руками ее останавливаете? Или Она сама останавливается?? Уточните сей момент.

Спасибо:

esper

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


ra81
Тогда вопрос на засыпку. У вас там между приходом сделки и остановской стратегии проходит меньше секунды. Вы руками ее останавливаете? Или Она сама останавливается?? Уточните сей момент.


В примере она останавливается через 10 вызовов Trader.NewTrades. В принципе, можно это ограничение убрать и стратегия продолжит работать дальше без остановки.
Спасибо:

ra81

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


esper
ra81
Тогда вопрос на засыпку. У вас там между приходом сделки и остановской стратегии проходит меньше секунды. Вы руками ее останавливаете? Или Она сама останавливается?? Уточните сей момент.


В примере она останавливается через 10 вызовов Trader.NewTrades. В принципе, можно это ограничение убрать и стратегия продолжит работать дальше без остановки.


Ага вижу. Видимо логика изменилась в новой версии. ФАк. Везде сюрпризы с новой версией. Спасибо за инфу.

Попробуйте сделать так, что правило при приходе свечки просто ничего не делает, вызывает пустой метод. Что покажет? Очень интересно. В старой версии такой ход сразу же завершал работу стратегии потому что правило после отработки удалялось и больше правил не оставалось. Стратегия стопалась.
Спасибо:

esper

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


ra81
Ага вижу. Видимо логика изменилась в новой версии. ФАк. Везде сюрпризы с новой версией. Спасибо за инфу.

Попробуйте сделать так, что правило при приходе свечки просто ничего не делает, вызывает пустой метод. Что покажет?

Стратегия так же продолжает работать.

ra81
Очень интересно. В старой версии такой ход сразу же завершал работу стратегии потому что правило после отработки удалялось и больше правил не оставалось. Стратегия стопалась.

Ошибок никаких не выводилось?
Спасибо: ra81

ra81

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


esper
ra81
Ага вижу. Видимо логика изменилась в новой версии. ФАк. Везде сюрпризы с новой версией. Спасибо за инфу.

Попробуйте сделать так, что правило при приходе свечки просто ничего не делает, вызывает пустой метод. Что покажет?

Стратегия так же продолжает работать.

ra81
Очень интересно. В старой версии такой ход сразу же завершал работу стратегии потому что правило после отработки удалялось и больше правил не оставалось. Стратегия стопалась.

Ошибок никаких не выводилось?


Нет ошибок не было. Я целое блин исследование провел тогда по части: Как работают долбанные стратегии :).

Видимо поменяли логику. Спасибо за тесты и информацию буду знать. Это важно.
Спасибо:
< 1 2 3 

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

loading
clippy