Обсуждение статьи "Торговые инструменты на MQL5 (Часть 13): Создание ценовой панели на основе Canvas с панелями графика и статистики"

 

Опубликована статья Торговые инструменты на MQL5 (Часть 13): Создание ценовой панели на основе Canvas с панелями графика и статистики:

В этой статье мы разрабатываем ценовую панель на основе canvas в MQL5 с использованием класса CCanvas для создания интерактивных панелей для визуализации последних графиков цен и статистики счетов с поддержкой фоновых изображений, эффектов тумана и градиентной заливки. Система включает в себя функции перетаскивания и изменения размера с помощью обработки событий мыши, переключение тем оформления между темным и светлым режимами с динамической настройкой цветов, а также элементы управления сворачиванием/разворачиванием для эффективного управления пространством графика.

В структуре ценовой панели на основе canvas используется класс CCanvas в MQL5 для создания пользовательских графических панелей в целях отображения ценовых данных и показателей счета в режиме реального времени, предлагая компактную интерактивную альтернативу стандартным графическим индикаторам для пользователей, которым требуется быстрый визуальный обзор без нагромождений на главном графике. Она состоит из главной графической панели, отображающей последние закрытия баров в виде линии с заполненными областями и эффектами тумана для придания глубины, дополнительной панели статистики, отображающей данные счета, такие как баланс / эквити и текущее значение OHLC бара, которые поддерживаются фоновыми изображениями с наложением непрозрачности, градиентной или сплошной заливкой и двойными рамками для обеспечения эстетики.

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

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

Наш план состоит в том, чтобы включить библиотеку canvas, определить входные признаки для позиций / размеров / цветов / непрозрачности / режимов, загрузить и масштабировать ресурс фонового изображения, создать отдельные холсты для заголовка / графика / статистики с проверками создания, реализовать функции рисования для заголовков с помощью значков / всплывающих подсказок / рамок, графиков с отображением цен /наполнением / временными метками / изменением размера значков и статистику с соответствующим теме оформления текстом / градиентами / затемненными рамками, добавлять вспомогательные функции для интерполяции цветов / затемнения / смешивания / выделения ARGB, а также обрабатывать события графика для событий наведения курсора мыши / перетаскивания / изменения размера / переключения с фиксацией размеров / минимальными размерами, с обновлением по тикам для получения новых данных. Вкратце, вот наглядное представление наших целей.

CANVAS DASHBOARD FRAMEWORK


Автор: Allan Munene Mutiiria