← Atrás

Стратегия останавливается, но не остановилась.

У стратегии был вызван метод Stop, в лог было написано Стратегия останавливается ,но полной установки не произошло. В стратегии правило реагирует на изменение стакана. Стакан был выбран RIM.


this.When(Security.MarketDepthChanged())
                    .Do(SendBuyOrder)
                    .Once()
                    .Sync(syncRules);

Стратегия постоянно подписывается на это правило. Может быть так, что стратегия не остновилась из-за того, что правила постоянно срабатывали? Но ведь есть промежуток, когда правило сработало, а на новое стратегия не подписана. версия - 4.0.23

¿Le resultó útil este tema?

Compartir tema

Comentarios (12)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Alexander
Alexander

Да, посмотрим

P.S. Стратегия на правило подписывается 1 раз :)

vader
vader Autor

Alexander Mukhanchikov: Да, посмотрим

P.S. Стратегия на правило подписывается 1 раз :)

Не совсем. После вызова SendBuyOrder она снова подписывается на это правило.

Alexander
Alexander

vader:

Alexander Mukhanchikov: Да, посмотрим

P.S. Стратегия на правило подписывается 1 раз :)

Не совсем. После вызова SendBuyOrder она снова подписывается на это правило.

Ещё раз, не путайте. Подписка на событие происходит 1 раз.

Что значит "подписка на правило"? Вы правило 1 раз создаёте или несколько?

Если вы подразумеваете подписку на событие, то почему вы утверждаете что подписыватся 2 раза? В какой момент тогда первая подписка на событие удаляется? :)

vader
vader Autor

Ну да, я имел ввиду, что создаю правило несколько раз.

Alexander
Alexander

vader: Ну да, я имел ввиду, что создаю правило несколько раз.

зачем? создавайте 1 раз, этого достаточно

vader
vader Autor

ЧТобы пока обрабатывается правило, его обработчик не был вызван.

Alexander
Alexander

vader: ЧТобы пока обрабатывается правило, его обработчик не был вызван.

неправильно вы делаете. создавайте 1 раз правило в общем

vader
vader Autor

А как мне сделать так, чтобы пока выполняется обработка правила, метод SendBuyOrder не вызывался?

Mikhail Sukhov
Mikhail Sukhov

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

vader
vader Autor

Даю остановиться. Когда создается заявка, создается правило на регистрацию, и когда оно отработает, тогда я создаю правило изменение стакана. И потом, обычно стратегия останавливается. В большинстве случаев.

Mikhail Sukhov
Mikhail Sukhov

vader: Даю остановиться. Когда создается заявка, создается правило на регистрацию, и когда оно отработает, тогда я создаю правило изменение стакана. И потом, обычно стратегия останавливается. В большинстве случаев.

Мы видимо о разном... В любом случае будет фикс, но еще не известно, как он поможет, так как у вас явно неправильно правила используются. Фикс будет защита от плохого кода.

Alexander
Alexander

В 4.1 будет фикс В 4.0 такое да, периодически может возникать