Нигде не описано, что происходит при остановке робота.
Причем вариантов остановки много:
- вызов Stop() из кода
- кнопочка стоп (квадратик) в терминале
- закрытие терминала обычное
- закрытие терминала аварийное (например, у компа отключилось питание, но чаще А-Д завис)
- возможно что-то еще.
Что тогда происходит:
- Как ведут себя глобальные переменные? Похоже, они сбрасываются Но возможно не во всех вариантах останова.
- Как ведут себя заявки на открытие позиции? Тоже сбрасываются - это уже логичнее.
- Как ведут себя заявки на закрытие позиции?
- Другие особенности.
Общие вопросы по разработке > Что происходит при остановке робота
-
- Сообщения: 80
- Зарегистрирован: 23 мар 2018, 10:54
- Поблагодарили: 2 раза
Re: Что происходит при остановке робота
1) Краткая инструкция есть на сайте. Там есть все про остановку и многое другое.
https://www.alfadirect.ru/api/education ... ce/1000007
2) При аварийном закрытии терминала - возможно, что какая-то информация не успеет сохраниться.
Надо проверять. Значения глобальных переменных есть в отчете.
3) Глобальные переменные сохраняются. Значения глобальных переменных есть в отчете на вкладке переменные..
4) При остановке все активные заявки снимаются. При запуске предлагается восстановить стоп заявки робота.
https://www.alfadirect.ru/api/education ... ce/1000007
2) При аварийном закрытии терминала - возможно, что какая-то информация не успеет сохраниться.
Надо проверять. Значения глобальных переменных есть в отчете.
3) Глобальные переменные сохраняются. Значения глобальных переменных есть в отчете на вкладке переменные..
4) При остановке все активные заявки снимаются. При запуске предлагается восстановить стоп заявки робота.
-
- Сообщения: 80
- Зарегистрирован: 23 мар 2018, 10:54
- Поблагодарили: 2 раза
Re: Что происходит при остановке робота
Спасибо!
У меня сбрасывались глобали при остановке по кнопке.
При закрытии терминала (не аварийном) - глобали не сбрасывались.
У меня сбрасывались глобали при остановке по кнопке.
При закрытии терминала (не аварийном) - глобали не сбрасывались.
-
- Сообщения: 80
- Зарегистрирован: 23 мар 2018, 10:54
- Поблагодарили: 2 раза
Re: Что происходит при остановке робота
Заметил интересное поведение Stop();
Робот не сразу останавливается после команды.
Скрипт продолжает чекрыжить какое-то время.
Причем достаточное, чтобы успеть отдать команду на новые заявки!!
Код сокращенно такой:
if (CurrentPosition() != 0) {
dlog("error 844hd83. CurrentPosition()=" + CurrentPosition());
CancelActiveOrders(false);
Stop();
}
if (...) { EnterLongLimit(pr, kol); dlog("EnterLongLimit(pr=" + pr + " , kol=" +kol+")");}
Лог сохранил следующее (новые строки пишутся наверх):
20.08.2019 17:34:33 ind-144: EnterLongLimit(pr=432 , kol=22)
20.08.2019 17:34:33 ind-144: error 844hd83. CurrentPosition()=22
Т.е. скрипт продолжил работать после Stop()
Робот не сразу останавливается после команды.
Скрипт продолжает чекрыжить какое-то время.
Причем достаточное, чтобы успеть отдать команду на новые заявки!!
Код сокращенно такой:
if (CurrentPosition() != 0) {
dlog("error 844hd83. CurrentPosition()=" + CurrentPosition());
CancelActiveOrders(false);
Stop();
}
if (...) { EnterLongLimit(pr, kol); dlog("EnterLongLimit(pr=" + pr + " , kol=" +kol+")");}
Лог сохранил следующее (новые строки пишутся наверх):
20.08.2019 17:34:33 ind-144: EnterLongLimit(pr=432 , kol=22)
20.08.2019 17:34:33 ind-144: error 844hd83. CurrentPosition()=22
Т.е. скрипт продолжил работать после Stop()
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей