← Zurück

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

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


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

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (12)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

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 такое да, периодически может возникать