![Использование класса CCanvas в MQL приложениях](https://c.mql5.com/2/49/CCanvas_class_600x314.jpg)
Использование класса CCanvas в MQL приложениях
Статья об использовании класса CCanvas в MQL приложениях с подробным разбором и примерами, что даёт пользователю понимание основ работы с данным инструментом
![Работа с таймсериями в библиотеке DoEasy (Часть 44): Класс-коллекция объектов индикаторных буферов](https://c.mql5.com/2/39/MQL5-avatar-doeasy-library.png)
![Работа с таймсериями в библиотеке DoEasy (Часть 44): Класс-коллекция объектов индикаторных буферов](https://c.mql5.com/i/articles/overlay.png)
Работа с таймсериями в библиотеке DoEasy (Часть 44): Класс-коллекция объектов индикаторных буферов
В статье рассмотрим создание класса-коллекции объектов индикаторных буферов и протестируем возможности создания любого количества буферов для программ-индикаторов и возможности работы с ними (максимальное количество буферов, которые можно создать в MQL-индикаторах - 512 буферов).
![DoEasy. Элементы управления (Часть 1): Первые шаги](https://c.mql5.com/2/49/doeasy_001_600x314.jpg)
DoEasy. Элементы управления (Часть 1): Первые шаги
С этой статьи начинаем обширную тему по созданию на MQL5 элементов управления в стиле Windows Forms. И начнём тему с создания класса панели. Без наличия элементов управления уже становится сложно обходиться. Поэтому мы создадим все возможные элементы управления в стиле Windows Forms.
![Популяционные алгоритмы оптимизации: Оптимизация Стаей Серых Волков (Grey Wolf Optimizer - GWO)](https://c.mql5.com/2/50/grey_wolf_optimizer_600x314.jpg)
Популяционные алгоритмы оптимизации: Оптимизация Стаей Серых Волков (Grey Wolf Optimizer - GWO)
Рассмотрим один из новейших современных алгоритмов оптимизации "Стаи серых волков". Оригинальное поведение на тестовых функциях делает этот алгоритм одним из самых интересных среди рассмотренных ранее. Один из лидеров для применения в обучении нейронных сетей, гладких функций с многими переменными.
![Стать хорошим программистом (Часть 3): 5 советов, чтобы лучше программировать на MQL5](https://c.mql5.com/2/43/Article_image__1.png)
![Стать хорошим программистом (Часть 3): 5 советов, чтобы лучше программировать на MQL5](https://c.mql5.com/i/articles/overlay.png)
Стать хорошим программистом (Часть 3): 5 советов, чтобы лучше программировать на MQL5
Статья обязательна к прочтению для всех, кто хочет улучшить свою карьеру программиста. Цель этой серии статей — помочь любому читателю, даже опытному, улучшить навыки программирования. Описанные в статье идеи работают как для начинающих MQL5-программистов, так и для профессионалов.
![Классификационные модели библиотеки Scikit-learn и их экспорт в ONNX](https://c.mql5.com/2/58/Scikit_learn_to-ONNX_600x314.jpg)
Классификационные модели библиотеки Scikit-learn и их экспорт в ONNX
В данной статье мы рассмотрим применение всех классификационных моделей пакета Scikit-learn для решения задачи классификации ирисов Фишера, попробуем их сконвертировать в ONNX-формат и использовать полученные модели в программах на MQL5. Также мы сравним точность работы оригинальных моделей и их ONNX-версий на полном наборе Iris dataset.
![Брейкпойнты в тестере – это возможно!](https://c.mql5.com/2/14/203_15.jpg)
![Брейкпойнты в тестере – это возможно!](https://c.mql5.com/i/articles/overlay.png)
Брейкпойнты в тестере – это возможно!
Статья посвящается программной эмуляции точки останова при прогоне на тестерe с выводом отладочной информации.
![Популяционные алгоритмы оптимизации](https://c.mql5.com/2/48/logo.png)
![Популяционные алгоритмы оптимизации](https://c.mql5.com/i/articles/overlay.png)
Популяционные алгоритмы оптимизации
Вводная статья об алгоритмах оптимизации (АО). Классификация. В статье предпринята попытка создать тестовый стенд (набор функций), который послужит в дальнейшем для сравнения АО между собой, и, даже, возможно, выявления самого универсального алгоритма из всех широко известных.
![Пишем Twitter-клиент для MetaTrader 4 и MetaTrader 5 без использования DLL](https://c.mql5.com/2/41/mql5_twitter__1.png)
![Пишем Twitter-клиент для MetaTrader 4 и MetaTrader 5 без использования DLL](https://c.mql5.com/i/articles/overlay.png)
Пишем Twitter-клиент для MetaTrader 4 и MetaTrader 5 без использования DLL
Хотите получать твиты или публиковать свои торговые сигналы в Твиттере? Больше не нужно искать решения — в этой серии статей мы рассмотрим, как работать с Твиттером без использования DLL. Мы вместе реализуем Tweeter API с помощью MQL. В первой статье начнем с возможностей аутентификации и авторизации в с Twitter API.
![Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов](https://c.mql5.com/2/42/MQL5-avatar-doeasy-library__9.png)
![Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов](https://c.mql5.com/i/articles/overlay.png)
Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов
В статье создадим функционал отслеживания некоторых событий объектов-чартов — добавление и удаление графиков символов, добавление и удаление подокон на график, а также добавление/удаление/изменение индикаторов в окнах чартов.
![Работа с ценами в библиотеке DoEasy (Часть 64): Стакан цен, классы объекта-снимка и объекта-серии снимков стакана цен](https://c.mql5.com/2/42/MQL5-avatar-doeasy-library__2.png)
![Работа с ценами в библиотеке DoEasy (Часть 64): Стакан цен, классы объекта-снимка и объекта-серии снимков стакана цен](https://c.mql5.com/i/articles/overlay.png)
Работа с ценами в библиотеке DoEasy (Часть 64): Стакан цен, классы объекта-снимка и объекта-серии снимков стакана цен
В статье создадим два класса - класс объекта-снимка стакана цен и класс объекта-серии снимков стакана цен и протестируем создание серии данных стакана цен.
![Как сделать график более интересным: добавление фона](https://c.mql5.com/2/49/Making-charts-more-interesting-Adding-a-background_600x314.jpg)
Как сделать график более интересным: добавление фона
Многие рабочие терминалы содержат некое репрезентативное изображение, которое показывает что-то о пользователе, эти изображения делают рабочий стол более красивым и разнообразным. Давайте посмотрим, как сделать графики более интересными, добавив фон.
![Графика в библиотеке DoEasy (Часть 89): Программное создание стандартных графических объектов. Базовый функционал](https://c.mql5.com/2/44/MQL5-avatar-doeasy-library3-2__1.png)
![Графика в библиотеке DoEasy (Часть 89): Программное создание стандартных графических объектов. Базовый функционал](https://c.mql5.com/i/articles/overlay.png)
Графика в библиотеке DoEasy (Часть 89): Программное создание стандартных графических объектов. Базовый функционал
Наша библиотека теперь умеет отслеживать появление на графике клиентского терминала стандартных графических объектов, их удаление и модификацию некоторых их параметров. Но для полного "комплекта" нам, конечно же, не хватает возможности создавать стандартные графические объекты из своих программ.
![Стать хорошим программистом (Часть 7): как стать успешным исполнителем во Фрилансе](https://c.mql5.com/2/43/How-to-Become-a-Freelancer-in-the-Hospitality-Industry.png)
![Стать хорошим программистом (Часть 7): как стать успешным исполнителем во Фрилансе](https://c.mql5.com/i/articles/overlay.png)
Стать хорошим программистом (Часть 7): как стать успешным исполнителем во Фрилансе
Хотите стать успешным исполнителем во Фрилансе MQL5.Community? Тогда рекомендую почитать советы из этой статьи.
![Работа с таймсериями в библиотеке DoEasy (Часть 40): Индикаторы на основе библиотеки - реалтайм обновление данных](https://c.mql5.com/2/38/MQL5-avatar-doeasy-library__5.png)
![Работа с таймсериями в библиотеке DoEasy (Часть 40): Индикаторы на основе библиотеки - реалтайм обновление данных](https://c.mql5.com/i/articles/overlay.png)
Работа с таймсериями в библиотеке DoEasy (Часть 40): Индикаторы на основе библиотеки - реалтайм обновление данных
В статье рассмотрим создание простого мультипериодного индикатора на основе библиотеки DoEasy. Доработаем классы таймсерий для получения данных с любых таймфреймов для отображения их на текущем периоде графика.
![Нелинейные индикаторы](https://c.mql5.com/2/50/non_linear_indicators_600x314.jpg)
Нелинейные индикаторы
В этой статье мы сделаем попытку рассмотреть некоторые способы построения нелинейных индикаторов и их использование в трейдинге. В торговой платформе MetaTrader довольно много индикаторов, которые используют нелинейные подходы.
![Графика в библиотеке DoEasy (Часть 92): Класс памяти стандартных графических объектов. История изменения свойств объекта](https://c.mql5.com/2/44/MQL5-avatar-doeasy-library3-2__4.png)
![Графика в библиотеке DoEasy (Часть 92): Класс памяти стандартных графических объектов. История изменения свойств объекта](https://c.mql5.com/i/articles/overlay.png)
Графика в библиотеке DoEasy (Часть 92): Класс памяти стандартных графических объектов. История изменения свойств объекта
В статье создадим класс памяти стандартного графического объекта, позволяющий объекту сохранять свои состояния при модификации его свойств, что в свою очередь позволит в любое время вернуться к прошлым состояниям графического объекта.
![Прочие классы в библиотеке DoEasy (Часть 68): Класс объекта-окна графика и классы объектов-индикаторов в окне графика](https://c.mql5.com/2/42/MQL5-avatar-doeasy-library__6.png)
![Прочие классы в библиотеке DoEasy (Часть 68): Класс объекта-окна графика и классы объектов-индикаторов в окне графика](https://c.mql5.com/i/articles/overlay.png)
Прочие классы в библиотеке DoEasy (Часть 68): Класс объекта-окна графика и классы объектов-индикаторов в окне графика
В статье продолжим разрабатывать класс объекта-чарта. Добавим к нему список объектов-окон графика, в которых в свою очередь будут доступны списки индикаторов, размещённых в них.
![Несколько индикаторов на графике (Часть 03): Разработка пользовательских определений](https://c.mql5.com/2/49/Multiple-indicators-on-one-chart-bPart-03n-Developing-definitions-for-users_600x314.jpg)
Несколько индикаторов на графике (Часть 03): Разработка пользовательских определений
Сегодня мы впервые обновляем функциональность системы индикаторов. В предыдущей статье "Несколько индикаторов на одном графике" мы рассмотрели основы кода, позволяющего использовать более одного индикатора в подокне, но то, что было представлено, было лишь начальной основой для гораздо более крупной системы.
![Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)](https://c.mql5.com/2/50/popular_algorithm_ant_colony_optimization_600x314.jpg)
Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)
В этот раз разберём алгоритм оптимизации Муравьиная Колония. Алгоритм очень интересный и неоднозначный. Попытка создания нового типа ACO.
![Работа с таймсериями в библиотеке DoEasy (Часть 38): Коллекция таймсерий - реалтайм обновление и доступ к данным из программы](https://c.mql5.com/2/38/MQL5-avatar-doeasy-library__3.png)
![Работа с таймсериями в библиотеке DoEasy (Часть 38): Коллекция таймсерий - реалтайм обновление и доступ к данным из программы](https://c.mql5.com/i/articles/overlay.png)
Работа с таймсериями в библиотеке DoEasy (Часть 38): Коллекция таймсерий - реалтайм обновление и доступ к данным из программы
В статье рассмотрим реалтайм-обновление данных таймсерий и отправку сообщений о событии "Новый бар" на график управляющей программы от всех таймсерий всех символов для возможности обработки этих событий в своих программах. Для определения необходимости обновления таймсерий для нетекущих символа и периодов графика будем использовать класс "Новый тик".
![Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)](https://c.mql5.com/2/50/artificial_bee_colony_600x314.jpg)
Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)
Сегодня изучим алгоритм искусственной пчелиной колонии. Дополним наши знания новыми принципами исследования функциональных пространств. В данной статье я расскажу о моей интерпретации классического варианта алгоритма.
![Консультант-советник трейдера на основе расширенного анализа MACD](https://c.mql5.com/2/15/581_4.jpg)
![Консультант-советник трейдера на основе расширенного анализа MACD](https://c.mql5.com/i/articles/overlay.png)
Консультант-советник трейдера на основе расширенного анализа MACD
Скрипт консультант-советник трейдера по принятию решения об открытии позиций на основании расширенного анализа состояния MACD по трем последним барам в реальном времени торгов на любом периоде, и для проведения анализа на истории.
![Работа с таймсериями в библиотеке DoEasy (Часть 56): Объект пользовательского индикатора, получение данных от объектов-индикаторов в коллекции](https://c.mql5.com/2/49/doeasy_056_600x314.jpg)
Работа с таймсериями в библиотеке DoEasy (Часть 56): Объект пользовательского индикатора, получение данных от объектов-индикаторов в коллекции
В статье рассмотрим создание объекта пользовательского индикатора для использования в советниках. Немного доработаем классы библиотеки и напишем методы для получения данных от объектов-индикаторов в экспертах.
![Работа с ценами в библиотеке DoEasy (Часть 61): Коллекция тиковых серий символов](https://c.mql5.com/2/41/MQL5-avatar-doeasy-library__5.png)
![Работа с ценами в библиотеке DoEasy (Часть 61): Коллекция тиковых серий символов](https://c.mql5.com/i/articles/overlay.png)
Работа с ценами в библиотеке DoEasy (Часть 61): Коллекция тиковых серий символов
Так как в работе программы могут участвовать разные символы, то для каждого символа необходимо создать свой список. Такие списки мы сегодня объединим в коллекцию тиковых данных. По сути это будет обычный список на основе класса динамического массива указателей на экземпляры класса CObject и его наследников Cтандартной библиотеки.
![Работа с таймсериями в библиотеке DoEasy (Часть 50): Мультипериодные мультисимвольные стандартные индикаторы со смещением](https://c.mql5.com/2/49/doeasy_050_600x314.jpg)
Работа с таймсериями в библиотеке DoEasy (Часть 50): Мультипериодные мультисимвольные стандартные индикаторы со смещением
В статье доработаем методы библиотеки для корректного отображения мультисимвольных мультипериодных стандартных индикаторов, линии которых выводятся на график текущего символа со смещением, задаваемым в настройках. А также наведём порядок в методах работы со стандартными индикаторами и уберём в область библиотеки лишний код в итоговой программе-индикаторе.
![Графика в библиотеке DoEasy (Часть 86): Коллекция графических объектов - контролируем модификацию свойств](https://c.mql5.com/2/43/MQL5-avatar-doeasy-library3-2__5.png)
![Графика в библиотеке DoEasy (Часть 86): Коллекция графических объектов - контролируем модификацию свойств](https://c.mql5.com/i/articles/overlay.png)
Графика в библиотеке DoEasy (Часть 86): Коллекция графических объектов - контролируем модификацию свойств
В статье рассмотрим отслеживание модификации значений свойств, удаление и переименование графических объектов в библиотеке.
![Прочие классы в библиотеке DoEasy (Часть 69): Класс-коллекция объектов-чартов](https://c.mql5.com/2/42/MQL5-avatar-doeasy-library__7.png)
![Прочие классы в библиотеке DoEasy (Часть 69): Класс-коллекция объектов-чартов](https://c.mql5.com/i/articles/overlay.png)
Прочие классы в библиотеке DoEasy (Часть 69): Класс-коллекция объектов-чартов
С этой статьи начнём разработку класса-коллекции объектов-чартов, который будет хранить в себе список-коллекцию объектов-чартов с их подокнами и индикаторами в них, и даст возможность работы с любыми выбранными чартами и их подокнами, или сразу со списком из нескольких чартов одновременно.
![Метод выявления ошибок в коде при помощи комментирования](https://c.mql5.com/2/16/697_3.gif)
![Метод выявления ошибок в коде при помощи комментирования](https://c.mql5.com/i/articles/overlay.png)
Метод выявления ошибок в коде при помощи комментирования
В статье рассказывается о методе поиска ошибок в коде MQL 4, который основан на комментировании. Данный метод бывает очень полезен при возникновения проблем компилирования из-за ошибок в достаточно крупном коде.
![Работа с таймсериями в библиотеке DoEasy (Часть 49): Мультипериодные мультисимвольные многобуферные стандартные индикаторы](https://c.mql5.com/2/49/doeasy_049_600x314.jpg)
Работа с таймсериями в библиотеке DoEasy (Часть 49): Мультипериодные мультисимвольные многобуферные стандартные индикаторы
В статье доработаем классы библиотеки для возможности создания мультисимвольных мультипериодных стандартных индикаторов, требующих для отображения своих данных несколько индикаторных буферов.
![Секреты клиентского терминала MetaTrader 4: Библиотека файлов в MetaEditor](https://c.mql5.com/2/14/211_2.gif)
![Секреты клиентского терминала MetaTrader 4: Библиотека файлов в MetaEditor](https://c.mql5.com/i/articles/overlay.png)
Секреты клиентского терминала MetaTrader 4: Библиотека файлов в MetaEditor
При создании собственных программ важное значение имеет редактор кода. Чем больше функций предлагает редактор, тем удобнее и быстрее создаётся программа. Многие программы создаются на основе уже существующего кода. Вы используете индикатор или скрипт, но Вас не всё в нём устраивает? Скачайте код этой программы с нашего сайта и переделайте его под себя.
![Несколько индикаторов на графике (Часть 02): Первые эксперименты](https://c.mql5.com/2/49/Multiple-indicators-on-one-chart-6Part-027-First-experiments_600x314.jpg)
Несколько индикаторов на графике (Часть 02): Первые эксперименты
В предыдущей статье "Несколько индикаторов на графике" я представил концепции и основы того, как мы можем использовать несколько индикаторов на графике. В данной статье я представлю и детально объясню исходный код.
![Работа с таймсериями в библиотеке DoEasy (Часть 58): Таймсерии данных буферов индикаторов](https://c.mql5.com/2/49/doeasy_058_600x314.jpg)
Работа с таймсериями в библиотеке DoEasy (Часть 58): Таймсерии данных буферов индикаторов
В завершении темы работы с таймсериями организуем хранение, поиск и сортировку данных, хранящихся в буферах индикаторов, что позволит в дальнейшем проводить анализ на основе значений индикаторов, создаваемых на основе библиотеки в своих программах. Общая концепция всех классов-коллекций библиотеки позволяет легко находить нужные данные в соответствующей коллекции, и соответственно, это же будет возможным и в создаваемом сегодня классе.
![WebSocket для MetaTrader 5 — Использование Windows API](https://c.mql5.com/2/49/websockets_mt5_winapi_600x314.jpg)
WebSocket для MetaTrader 5 — Использование Windows API
В этой статье мы используем WinHttp.dll, чтобы создать клиент WebSocket для MetaTrader 5-программ. В конечном итоге клиент должен быть выполнен в виде класса и протестирован во взаимодействии с WebSocket API от Binary.com.
![Работа с матрицами и векторами в MQL5](https://c.mql5.com/2/49/Anons_600x314.jpg)
Работа с матрицами и векторами в MQL5
Для решения математических задач в MQL5 были добавлены матрицы и векторы. Новые типы имеют встроенные методы для написания краткого и понятного кода, который близок к математической записи. Массивы — это хорошо, но матрицы во многих случаях лучше.
![Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров](https://c.mql5.com/2/36/MQL5-avatar-doeasy__5.png)
![Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров](https://c.mql5.com/i/articles/overlay.png)
Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В девятой части начали дорабатывать классы библиотеки для работы в MQL4. В данной статье продолжим доработку библиотеки с целью полной её совместимости с MQL4.
![Неторгующий эксперт тестирует индикаторы](https://c.mql5.com/2/16/627_11.gif)
![Неторгующий эксперт тестирует индикаторы](https://c.mql5.com/i/articles/overlay.png)
Неторгующий эксперт тестирует индикаторы
Все индикаторы можно разделить на две группы: статические - изображение которых на истории остается статичным и не меняется с приходом новых котировок, и динамические - которые отображают свое состояние только для текущего момента времени и полностью переририсовываются при приходе новой цены. Работопригодность статического индикатора видна сразу на графике, а вот как проверить, что динамический индиктор работает правильно? Этому вопросу и посвящена данная статья.
![Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 - Подготовка данных](https://c.mql5.com/2/36/MQL5-avatar-doeasy__4.png)
![Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 - Подготовка данных](https://c.mql5.com/i/articles/overlay.png)
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 - Подготовка данных
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В восьмой части сделали класс для отслеживания событий модификации рыночных ордеров и позиций. В данной статье начнём доработку библиотеки с целью полной её совместимости с MQL4.
![Графика в библиотеке DoEasy (Часть 99): Перемещаем расширенный графический объект одной контрольной точкой](https://c.mql5.com/2/49/doeasy_099_600x314.jpg)
Графика в библиотеке DoEasy (Часть 99): Перемещаем расширенный графический объект одной контрольной точкой
В прошлой статье мы создали возможность перемещения опорных точек расширенного графического объекта при помощи форм управления. Теперь сделаем перемещение составного графического объекта при помощи одной точки (формы) управления графическим объектом.
![Работа с таймсериями в библиотеке DoEasy (Часть 55): Класс-коллекция индикаторов](https://c.mql5.com/2/49/doeasy_055_600x314.jpg)
Работа с таймсериями в библиотеке DoEasy (Часть 55): Класс-коллекция индикаторов
В статье продолжим развитие классов объектов-индикаторов и их коллекции. Создадим для каждого объекта-индикатора его описание и скорректируем класс-коллекцию для безошибочного хранения и получения объектов-индикаторов из списка-коллекции.