Ручное подтверждение открытия ордера.
MessageBox можно вызвать из советника, но есть один нюанс - он "подвесит" советник пока пользователь не нажмёт кнопку.
MessageBox можно вызвать из советника, но есть один нюанс - он "подвесит" советник пока пользователь не нажмёт кнопку.
Вот, сделал. Может кому-нибудь из впервые начинающих осваивать программирование пригодится, а то в документации примера использования этой функции нет.
int YesNo=0; PlaySound("alert.wav"); YesNo = MessageBox(Symbol()+" Запрос на открытие ордера OP_BUY","",MB_YESNO); if(YesNo==IDYES) {Comment("Открывается ордер");} else if(YesNo==IDNO) {Comment("Запрет открытия ордера");}
всё-же лучше такой диалог делать функциями MQL, добавив обратный отсчёт времени до действия по умолчанию..
Поскольку ручного подтверждения открытия ордера в терминале теперь нет, хочу сделать это для советников, которые впервые ставятся на реал. Помню раньше был оператор для возможности запроса из программы, при выполнении которого выводилась форма с текстом вопроса и кнопками для ввода типа Да, Нет. Думаю, что он и сейчас есть. Возможно с другим названием. Раньше вроде BoxInput назывался, хотя не уверен не использовал его, поэтому не помню. Или я это путаю с Визуальным бейсиком, когда-то давно имел с ним дело. Да нет, должен быть и в MQL. Подскажите, пожалуйста, как он теперь называется.