Общие вопросы по разработке > Запуск бота по расписанию

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
Victor
Сообщения: 8
Зарегистрирован: 24 май 2018, 17:28
Благодарил (а): 3 раза

Запуск бота по расписанию

Непрочитанное сообщение Victor » 24 май 2018, 18:52

Возможно ли запускать бота по шедуйлеру или из стороннего софта как-либо (батником)?

Я так понимаю что один бот не может запустить второй.
Но один бот может изменять значение глобальной переменной(записывать true или false например). Второй бот может прочитать это значение и действоать или бездействовать в зависимости от значения, верно?

З.Ы. считать файл можно стандартными средствами C#, так?

Спасибо.

oxi
Сообщения: 160
Зарегистрирован: 20 сен 2016, 23:20
Благодарил (а): 12 раз
Поблагодарили: 67 раз

Re: Запуск бота по расписанию

Непрочитанное сообщение oxi » 24 май 2018, 18:59

Запуска бота по расписанию нет.
Но возможно в роботе указать, когда ему торговать, что практически одно и тоже.

nikkrav
Сообщения: 41
Зарегистрирован: 19 май 2016, 15:20
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: Запуск бота по расписанию

Непрочитанное сообщение nikkrav » 25 май 2018, 12:48

oxi писал(а):Запуска бота по расписанию нет.
Но возможно в роботе указать, когда ему торговать, что практически одно и тоже.



Уважаемый oxi . Сделайте пример пожалуйста. Думаю это будет полезно для всех.

Аватара пользователя
Simonov
Сообщения: 89
Зарегистрирован: 20 сен 2017, 11:36
Благодарил (а): 83 раза
Поблагодарили: 20 раз

Re: Запуск бота по расписанию

Непрочитанное сообщение Simonov » 25 май 2018, 13:23

Это несложно сделать. Можно даже в конструкторе.

Вначале создаёте первое правило, которое будет указывать на время начала торговли:

1. Нажимаете "Добавить" "условие" в Правило";
2. Выбираете "Текущее время";
3. Выставляете "больше или равно";
4. Выбираете "Время";
5. Выставляете значение времени, определяющее начало торговли. В моём примере это 13-00.

Time 1.PNG

Далее, создаёте второе правило, которое будет ограничивать время торговли до определённого значения. Делаете всё тоже самое, что на первом этапе, только выбираете условие "меньше или равно". В данном примере я ограничил время торговли до 18-45.

Time 2.PNG

Это всё.

Таким образом, вы создали два правила. Первое указывает на время начала торговли, а второе на время его окончания. Повинуясь этим условиям робот будет начинать торговлю в 13-00 и заканчивать в 18-45. 8-)

Аватара пользователя
evge
Администратор
Сообщения: 1812
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Запуск бота по расписанию

Непрочитанное сообщение evge » 25 май 2018, 13:56

Ну а если в коде разблокированном, то просто 1 строчку в OnUpdate() в самом начале

Код: Выделить всё

if (BarTime().Hours < 13 || BarTime().Hours > 18) return;
никогда такого не было и вот опять

Аватара пользователя
Simonov
Сообщения: 89
Зарегистрирован: 20 сен 2017, 11:36
Благодарил (а): 83 раза
Поблагодарили: 20 раз

Re: Запуск бота по расписанию

Непрочитанное сообщение Simonov » 25 май 2018, 14:02

evge писал(а):Ну а если в коде разблокированном, то просто 1 строчку в OnUpdate() в самом начале

Код: Выделить всё

if (BarTime().Hours < 13 || BarTime().Hours > 18) return;


Это у вас получился рабочий период с 18 до 13 часов. Правильно? Просто чтобы согласовывалось с примером выше и человек не запутался, надо бы значения больше и меньше поменять местами. 8-)

Аватара пользователя
evge
Администратор
Сообщения: 1812
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Запуск бота по расписанию

Непрочитанное сообщение evge » 25 май 2018, 14:22

Нет, здесь ключевое это действие "return" :)

т.е. если сейчас раньше 13 ИЛИ позже 18, то ничего не делая выходим из обработчика OnUpdate() через return, т.е. код который будет далее не будет исполняться.
никогда такого не было и вот опять

Аватара пользователя
Simonov
Сообщения: 89
Зарегистрирован: 20 сен 2017, 11:36
Благодарил (а): 83 раза
Поблагодарили: 20 раз

Re: Запуск бота по расписанию

Непрочитанное сообщение Simonov » 25 май 2018, 14:44

evge писал(а):Нет, здесь ключевое это действие "return" :)

т.е. если сейчас раньше 13 ИЛИ позже 18, то ничего не делая выходим из обработчика OnUpdate() через return, т.е. код который будет далее не будет исполняться.


Тогда прошу прощения, не силён в программировании. :)

nikkrav
Сообщения: 41
Зарегистрирован: 19 май 2016, 15:20
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: Запуск бота по расписанию

Непрочитанное сообщение nikkrav » 25 май 2018, 16:30

Большое спасибо всем.

e-formula
Сообщения: 13
Зарегистрирован: 16 фев 2021, 22:51
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Запуск бота по расписанию

Непрочитанное сообщение e-formula » 25 апр 2021, 14:53

Здравствуйте! Вопрос по теме.. А как остановить робота с закрытием позиции в пятницу, предположим в 23.30 и запустить в понедельник. А то с нынешними реалиями не хочется оставлять позиции по фьючерсам на выходные. Я нашел конструкцию "if (BarDate().DayOfWeek < BarDate(-1).DayOfWeek)" но не разобрался, как её применить для пятницы. Заранее спасибо!


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей