Глава 12 - "Обучение программированию на MQL4: Торговые советники"!

Форум Vikpro.net — это площадка для общения и обмена опытом форекс трейдеров со всего мира. Здесь вы можете найти ответы на свои вопросы, поделиться своими знаниями и идеями с другими пользователями.

Домой Програмирование MQL4 Глава 12 - "Обучение программированию на MQL4: Торговые советники"!
1ответ(ов) в теме
Tanya
не в сети 5 дней
На сайте с 24.12.2022
Участник
Тем 21
Сообщения 44
1
09:03

Глава 12: Графический интерфейс пользователя (GUI)

В этой главе мы рассмотрим создание графического интерфейса пользователя (GUI) для вашего торгового советника на MQL4. Графический интерфейс позволяет создавать пользовательские окна, кнопки, текстовые поля и другие элементы управления, которые улучшают удобство использования советника.

12.1 Создание окна
Для создания окна вам потребуется использовать функцию WindowCreate(). Она принимает параметры, такие как размеры окна, заголовок, координаты и другие настройки.

Пример создания окна:

void OnStart()
{
   int windowHandle = WindowCreate("Мой Торговый Советник", 0, 0, 400, 300);
   if (windowHandle != INVALID_HANDLE)
   {
      // Добавьте код для создания элементов управления в окне
   }
}

В этом примере мы используем функцию WindowCreate() для создания окна с заголовком "Мой Торговый Советник" и размерами 400x300 пикселей. Мы сохраняем идентификатор окна в переменной windowHandle для дальнейшего использования.

12.2 Создание кнопок и обработка событий
Для создания кнопок внутри окна вы можете использовать функцию ButtonCreate(). Она также принимает параметры, такие как размеры, координаты и текст кнопки.

Пример создания кнопки и обработки событий:

void OnStart()
{
   int windowHandle = WindowCreate("Мой Торговый Советник", 0, 0, 400, 300);
   if (windowHandle != INVALID_HANDLE)
   {
      int buttonHandle = ButtonCreate(windowHandle, 100, 100, 100, 30, "Нажми меня");
      if (buttonHandle != INVALID_HANDLE)
      {
         EventSetTimer(1); // Установка таймера для обработки событий
      }
   }
}

void OnTimer()
{
   int event = EventGetInteger(EVENT_TIMER);
   if (event == 1)
   {
      if (IsStopped())
      {
         // Код для остановки работы советника
      }
      else
      {
         int buttonEvent = EventGetInteger(EVENT_BUTTON);
         if (buttonEvent != 0)
         {
            Print("Кнопка была нажата!");
         }
      }
   }
}

В этом примере мы создаем кнопку "Нажми меня" внутри окна с помощью функции ButtonCreate(). Мы также устанавливаем таймер событий с помощью функции EventSetTimer(), чтобы обрабатывать события. В функции OnTimer() мы проверяем, если событие таймера равно 1, и затем проверяем, была ли нажата кнопка с помощью функции EventGetInteger(). Если кнопка была нажата, мы выводим сообщение в консоль с помощью функции Print().

12.3 Создание текстовых полей и других элементов управления
MQL4 также поддерживает создание других элементов управления, таких как текстовые поля, выпадающие списки, чекбоксы и другие. Для этого вы можете использовать соответствующие функции, такие как EditCreate(), ComboBoxCreate(), CheckBoxCreate() и т. д.

Пример создания текстового поля:

void OnStart()
{
   int windowHandle = WindowCreate("Мой Торговый Советник", 0, 0, 400, 300);
   if (windowHandle != INVALID_HANDLE)
   {
      int editHandle = EditCreate(windowHandle, 100, 100, 200, 30, "Введите текст");
      if (editHandle != INVALID_HANDLE)
      {
         // Добавьте код для обработки введенного текста
      }
   }
}

В этом примере мы создаем текстовое поле внутри окна с помощью функции EditCreate(). Мы также сохраняем идентификатор текстового поля в переменной editHandle для дальнейшего использования. Вы можете добавить код для обработки введенного текста, например, с помощью функции EventGetText(), чтобы получить текст из текстового поля.

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

Продолжайте изучение и практикуйтесь в программировании на MQL4!

Примечание от Тани:
Приветствую вас! Я надеюсь, что эта глава помогла вам понять, как создавать графический интерфейс пользователя для вашего торгового советника на MQL4. Графический интерфейс позволяет вам создавать пользовательские окна, кнопки, текстовые поля и другие элементы управления, что делает ваш советник более удобным в использовании. В следующей главе мы рассмотрим тему оптимизации и тестирования советников, что позволит вам улучшить их эффективность и надежность. Если у вас возникли вопросы, не стесняйтесь задавать их - я всегда готова помочь!

0
Вы не имеете права на публикацию сообщений в этой теме

Спасибо вам за выбор Форума VikPro Портала, как место общения!