Страница 1 из 2

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

Добавлено: 24 май 2018, 18:52
Victor
Возможно ли запускать бота по шедуйлеру или из стороннего софта как-либо (батником)?

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

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

Спасибо.

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

Добавлено: 24 май 2018, 18:59
oxi
Запуска бота по расписанию нет.
Но возможно в роботе указать, когда ему торговать, что практически одно и тоже.

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

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



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

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

Добавлено: 25 май 2018, 13:23
Simonov
Это несложно сделать. Можно даже в конструкторе.

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

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

Time 1.PNG

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

Time 2.PNG

Это всё.

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

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

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

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

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

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

Добавлено: 25 май 2018, 14:02
Simonov
evge писал(а):Ну а если в коде разблокированном, то просто 1 строчку в OnUpdate() в самом начале

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

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


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

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

Добавлено: 25 май 2018, 14:22
evge
Нет, здесь ключевое это действие "return" :)

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

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

Добавлено: 25 май 2018, 14:44
Simonov
evge писал(а):Нет, здесь ключевое это действие "return" :)

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


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

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

Добавлено: 25 май 2018, 16:30
nikkrav
Большое спасибо всем.

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

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