Взаимодействие с пользователем

Связь программы с "внешним миром" всегда двунаправленная, и средства для её организации можно условно разделить на категории для ввода и выводы данных. В классическом варианте пользователь предоставляет программе некие настройки и получает из неё результат. Если программа интегрируется с каким-либо внешним приложением или сервисом, ввод и вывод, как правило, осуществляются по специальным протоколам обмена (через файлы, сеть, разделяемую память и т.д.), минуя пользовательский интерфейс.

Среда исполнения MQL-программ позволяет организовать взаимодействие с пользователем MetaTrader 5 множеством способов.

В этой главе мы познакомимся с самыми простыми из них, позволяющими выводить сообщения в журнал или на график, показывать простое диалоговое окно и выдавать звуковые оповещения.

Напомним, что стандартом для ввода данных в MQL-программу являются входные переменные. Однако их можно задать только при инициализации программы. Изменение свойств программы через диалог настроек означает её "перезапуск" с новыми значениями (о некоторых нюансах, связанных здесь с типом MQL-программы, из-за чего слово перезапуск взято в кавычки, мы поговорим позднее).

Более гибкое интерактивное взаимодействие предполагает возможность управлять поведением программы без её остановки. В элементарных случаях для этого подойдет, например, диалоговое окно MessageBox, которое мы рассмотрим ниже, но для большинства практических применений этого недостаточно.

Поэтому в следующих частях книги мы существенно расширим перечень средств для реализации пользовательского интерфейса и научимся создавать интерактивные программы на основе интерфейсных объектов, отображать графическую информацию в индикаторах или ресурсах, отсылать push-уведомления на мобильные устройства пользователя и многому другому.