Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5

EasyAndFastGUI - библиотека для создания графических интерфейсов - библиотека для MetaTrader 5
- Просмотров:
- 11109
- Рейтинг:
- Опубликован:
- 2018.01.18 10:59
- Обновлен:
- 2022.09.27 19:17
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
EasyAndFastGUI v2.0
Вышла новая версия библиотеки EasyAndFastGUI для создания графических интерфейсов!
Эта библиотека содержит необходимый набор элементов, которые можно использовать при разработке MQL-приложений с графическим интерфейсом.
Во второй версии этой библиотеки добавлено множество улучшений, а также исправлены баги, которые начали возникать после изменений в языке MQL. Все статьи серии из списка ниже можно читать только в целях изучения языка MQL, так как в последней версии значительные изменения и отличия.
Что нового?
- Все изображения для элементов графического интерфейса оцифрованы и теперь папка с картинками не нужна. Вы можете скачать архив картинок из старой версии, если вам нужен пользовательский набор картинок для работы.
- Значительное улучшение в обработке потока событий. В прошлой версии возникала заметная задержка, если элементов было очень много. Теперь всё работает очень быстро при любом количестве элементов.
- Добавлена возможность изменять цветовую схему графического интерфейса. В этой версии есть возможность быстро переключаться в процессе работы уже готового MQL-приложения между светлой и тёмной темами.
- Интегрирован новый элемент (C3DBase) из стандартной библиотеки (CCanvas3D) для работы с трёхмерной графикой.
- Изменилась структура папок и файлов библиотеки. Теперь все файлы распределены по категориям.
- Вторая версия поставляется с уже готовой к работе MT4-версией.
- Для всех элементов есть методы для быстрого создания. Практически все элементы с параметрами по умолчанию теперь можно создать всего лишь в одну строку кода.
- Кроме этого было внесено множество других изменений касающихся внутренненнего устройства и произведён дополнительный рефакторинг кода.
- Все комментарии в коде переведены на английский язык.
- С библиотекой поставляются готовые примеры графических интерфейсов, чтобы вам было проще всё изучить и быстрее приступить к работе.
Примеры графических интерфейсов
На скриншотах ниже показаны примеры графических интерфейсов, которые созданы с помощью библиотеки EasyAndFastGUI v2.0:
Графический интерфейс EasyAndFastGUI v2.0 - Пример 1
Графический интерфейс EasyAndFastGUI v2.0 - Пример 2
Графический интерфейс EasyAndFastGUI v2.0 - Пример 3
Графический интерфейс EasyAndFastGUI v2.0 - Пример 4
Графический интерфейс EasyAndFastGUI v2.0 - Пример 5
Как загрузить библиотеку?
Первую версию библиотеки EasyAndFastGUI можно скачать по ссылкам выше в начале страницы. Последнюю версию (v2.0) можно загрузить в маркете в виде скрипта. Запустив скрипт на графике в терминале вы получите все файлы с исходным кодом и готовыми примерами MQL-приложений, которые показаны на скриншотах выше, в папку MQL5/Files/tol64.
Все вопросы по использованию лучше задавать на форуме или на странице обсуждения в маркете, чтобы другие пользователи библиотеки могли тоже увидеть ответы на них. Для скорейшего решения проблемы лучше сразу приложить минимальный тестовый пример, на котором она воспроизводится.
Если Вам нужна помощь по созданию приложения с графическим интерфейсом, то Вы можете сделать персональный заказ автору библиотеки.
Структура папок и файлов
Файлы из стандартной библиотеки, в которые были внесены изменения добавлены в отдельную папку MQL5 (MQL4 для MT4-версии).
- Base - Element.mqh - ElementBase.mqh - Object.mqh - Constant - Defines.mqh - Enums.mqh - KeyStrokes.mqh - Controls - 3D - 3DBase.mqh - Buttons - Button.mqh - ButtonsGroup.mqh - CheckBox.mqh - ComboBox.mqh - SplitButton.mqh - Charts - Graph.mqh - StandardChart.mqh - ColorPicker - ColorButton.mqh - ColorPicker.mqh - Datetime - Calendar.mqh - DropCalendar.mqh - TimeEdit.mqh - Info - ProgressBar.mqh - StatusBar.mqh - TextLabel.mqh - Tooltip.mqh - InputFields - TextBox.mqh - TextEdit.mqh - Lists - ListView.mqh - Table.mqh - Menus - ContextMenu.mqh - MenuBar.mqh - MenuItem.mqh - Pictures - Picture.mqh - PicturesSlider.mqh - Sections - FileNavigator.mqh - Tabs.mqh - TreeItem.mqh - TreeView.mqh - Separators - Frame.mqh - SeparateLine.mqh - Sliders - Scrolls.mqh - Slider.mqh - Pointer.mqh - Window.mqh - Core - Container - Include - AddMethods.mqh - CoreContainer.mqh - Create - Include - 3D - 3DBase.mqh - Buttons - Button.mqh - ButtonsGroup.mqh - Checkbox.mqh - Combobox.mqh - RadioButtons.mqh - SplitButton.mqh - Charts - Graph.mqh - StandardChart.mqh - ColorPicker - ColorButton.mqh - ColorPicker.mqh - Datetime - Calendar.mqh - DropCalendar.mqh - TimeEdit.mqh - Info - ProgressBar.mqh - StatusBar.mqh - TextLabel.mqh - Tooltip.mqh - InputFields - SpinEdit.mqh - TextBox.mqh - TextEdit.mqh - Lists - ListView.mqh - Table.mqh - Menus - ContextMenu.mqh - MenuBar.mqh - MenuItem.mqh - Pictures - Picture.mqh - PictureSlider.mqh - Sections - FileNavigator.mqh - Tabs.mqh - TreeView.mqh - Separators - Frame.mqh - SeparateLine.mqh - Sliders - DualSlider.mqh - Slider.mqh - Windows.mqh - CoreCreate.mqh - Events - Include - ActivatedItems.mqh - EventHandlers.mqh - CoreEvents.mqh - Common.mqh - Resources.mqh - Theme.mqh - MQL5 - Include - Graphics - Axis.mqh - ColorGenerator.mqh - Curve.mqh - Graphic.mqh - Tools - SubWindow - SubWindow.mq5 - Colors.mqh - Fonts.mqh - Keys.mqh - Mouse.mqh - TimeCounter.mqh
События библиотеки
При использовании библиотеки в своих проектах, кроме штатных событий графика вы можете обрабатывать также пользовательские события, которые определены в этой библиотеке. Ниже перечислены все значимые события, которые понадобятся вам в разработке своих приложений:
Событие | Значение параметра id | Значение параметра lparam | Значение параметра dparam | Значение параметра sparam |
---|---|---|---|---|
Нажатие на текстовой метке | ON_CLICK_LABEL | ID элемента | - | Текст элемента |
Нажатие на кнопке | ON_CLICK_BUTTON | ID элемента | Индекс элемента. Здесь и далее, если -1, то элемент не является частью другого элемента. | Имя объекта |
Нажатие на пункте контекстного меню | ON_CLICK_CONTEXTMENU_ITEM | ID элемента | Индекс элемента | Текст элемента |
Нажатие на чекбоксе | ON_CLICK_CHECKBOX | ID элемента | - | Текст элемента |
Нажатие на кнопке в группе | ON_CLICK_GROUP_BUTTON | ID элемента | Индекс элемента | Текст элемента |
Нажатие на вкладке | ON_CLICK_TAB | ID элемента | Индекс элемента | - |
Нажатие на объекте-графике (OBJ_CHART) | ON_CLICK_SUB_CHART | ID элемента | Индекс элемента | Название символа |
Нажатие на кнопке инкремента | ON_CLICK_INC | ID элемента | - | - |
Нажатие на кнопке декремента | ON_CLICK_DEC | ID элемента | - | - |
Нажатие на пункте в списке | ON_CLICK_LIST_ITEM | ID элемента | - | - |
Нажатие на пункте выпадающего списка | ON_CLICK_DROP_LIST_ITEM | ID элемента | Индекс пункта в списке | - |
Нажатие на текстовом поле | ON_CLICK_TEXT_BOX | ID элемента | - | - |
Окончание ввода текста в поле ввода | ON_END_EDIT | ID элемента | - | - |
Открытие диалогового окна | ON_OPEN_DIALOG_BOX | ID элемента | - | - |
Закрытие диалогового окна | ON_CLOSE_DIALOG_BOX | ID элемента | - | - |
Изменение темы | ON_CHANGE_THEME | - | - | - |
Изменение даты в календаре | ON_CHANGE_DATE | - | - | - |
Изменение цвета | ON_CHANGE_COLOR | - | - | - |
Окончание сортировки таблицы | ON_SORT_DATA | ID элемента | Индекс столбца | Тип данных столбца: TYPE_STRING, TYPE_DOUBLE, TYPE_DATETIME |
Окончание построения графического интерфейса | ON_END_CREATE_GUI | - | - | - |
Статьи
Авторский список статей относящихся к предыдущей версии библиотеки. Материал в этих статьях уже неактуален для последней версии библиотеки, но может быть полезен для изучения этой темы.
Часть I
- Графические интерфейсы I: Подготовка структуры библиотеки (Глава 1)
- Графические интерфейсы I: Форма для элементов управления (Глава 2)
- Графические интерфейсы I: 'Оживление' графического интерфейса (Глава 3)
- Графические интерфейсы I: Функции для кнопок формы и удаление элементов интерфейса (Глава 4)
- Графические интерфейсы I: Тестируем библиотеку в программах разных типов и в терминале MetaTrader 4 (Глава 5)
Часть II
- Графические интерфейсы II: Элемент "Пункт меню" (Глава 1)
- Графические интерфейсы II: Элементы "Разделительная линия" и "Контекстное меню" (Глава 2)
- Графические интерфейсы II: Настройка обработчиков событий библиотеки (Глава 3)
- Графические интерфейсы II: Элемент "Главное меню" (Глава 4)
Часть III
- Графические интерфейсы III: Простые и многофункциональные кнопки (Глава 1)
- Графические интерфейсы III: Группы простых и многофункциональных кнопок (Глава 2)
Часть IV
- Графические интерфейсы IV: Информационные элементы интерфейса (Глава 1)
- Графические интерфейсы IV: Многооконный режим и система приоритетов (Глава 2)
Часть V
- Графические интерфейсы V: Вертикальная и горизонтальная полоса прокрутки (Глава 1)
- Графические интерфейсы V: Элемент "Список" (Глава 2)
- Графические интерфейсы V: Элемент "Комбинированный список" (Глава 3)
Часть VI
- Графические интерфейсы VI: Элементы "Чекбокс", "Поле ввода" и их смешанные типы (Глава 1)
- Графические интерфейсы VI: Элементы "Слайдер" и "Двухсторонний слайдер" (Глава 2)
Часть VII
- Графические интерфейсы VII: Элементы "Таблицы" (Глава 1)
- Графические интерфейсы VII: Элементы "Вкладки" (Глава 2)
Часть VIII
- Графические интерфейсы VIII: Элемент "Календарь" (Глава 1)
- Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)
- Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)
Часть IX
- Графические интерфейсы IX: Элемент "Палитра для выбора цвета" (Глава 1)
- Графические интерфейсы IX: Элементы "Индикатор выполнения" и "Линейный график" (Глава 2)
Часть X
- Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 2)
- Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 3)
- Графические интерфейсы X: Элемент "Стандартный график" (build 4)
- Графические интерфейсы X: Текстовое поле ввода, слайдер картинок и простые элементы управления (build 5)
- Графические интерфейсы X: Элемент "Время", элемент "Список из чекбоксов" и сортировка таблицы (build 6)
- Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)
- Графические интерфейсы X: Элемент "Многострочное текстовое поле ввода" (build 8)
- Графические интерфейсы X: Новые возможности для нарисованной таблицы (build 9)
- Графические интерфейсы X: Обновления для нарисованной таблицы и оптимизация кода (build 10)
- Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)
- Графические интерфейсы X: Алгоритм переноса слов в многострочном поле ввода (build 12)
- Графические интерфейсы X: Выделение текста в многострочном поле ввода (build 13)
Часть XI
- Графические интерфейсы XI: Рефакторинг кода библиотеки (build 14.1)
- Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)
- Графические интерфейсы XI: Поля ввода и комбо-боксы в ячейках таблицы (build 15)
- Графические интерфейсы XI: Интеграция графической стандартной библиотеки (build 16)
Авторские статьи, где демонстрируется использование этой библиотеки:
- Торговый эксперт с графическим интерфейсом: Создание панели (Часть I)
- Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)
- Визуализируем оптимизацию торговой стратегии в MetaTrader 5
- Работаем с результатами оптимизации через графический интерфейс
- Визуализация результатов оптимизации по выбранному критерию
- ZigZag всему голова (Часть II): Примеры получения, обработки и отображения данных
- Веб-проекты (Часть III): Система авторизации Laravel/MetaTrader 5
Список статей других авторов, которые использовали библиотеку:
- Автоматический подбор перспективных сигналов
- Создание пользовательской новостной ленты в MetaTrader 5
- 100 лучших проходов оптимизации (Часть 1). Cоздание анализатора оптимизаций
- Исследование методов свечного анализа (Часть I): Проверка существующих паттернов
- Исследование методов свечного анализа (Часть II): Автопоиск новых паттернов
- Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения
- Расширяем функционал Конструктора стратегий
- Мультивалютный мониторинг торговых сигналов (Часть 1): Разработка структуры приложения
- Мультивалютный мониторинг торговых сигналов (Часть 2): Реализация визуальной части приложения
- Мультивалютный мониторинг торговых сигналов (Часть 3): Внедряем алгоритмы поиска
- Мультивалютный мониторинг торговых сигналов (Часть 4): Улучшаем функциональность и систему поиска сигналов
- Работа с сетевыми функциями, или MySQL без DLL: Часть II - программа для мониторинга изменения свойств сигналов
- Инструментарий для быстрой ручной торговли: Базовый функционал
- Система голосовых уведомлений торговых событий и сигналов

Советник-помощник в ручной торговле. Выставление Stop loss, Take profit, перевод в безубыток и трейлинг позиций.

Индикатор SAR, рассчитываемый по значениям индикатора iMA (Moving Average, MA).

Индикатор, в отличие от стандартного Fractals, позволяет искать и отображать на графике цены фракталы с заданной в настройках размерностью.

Развитие первой версии VR---ZVER. Добавлены трейлинг, отдельный флаг разрешения/запрета открытия BUY, отдельный флаг разрешения/запрета открытия SELL.