![Работа с таймсериями в библиотеке 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 буферов).
![Популяционные алгоритмы оптимизации: Рой частиц (PSO)](https://c.mql5.com/2/49/cover_PSO_600x314.jpg)
Популяционные алгоритмы оптимизации: Рой частиц (PSO)
В данной статье рассмотрим популярный алгоритм "Рой Частиц" (PSO — particle swarm optimisation). Ранее мы обсудили такие важные характеристики алгоритмов оптимизации как сходимость, скорость сходимости, устойчивость, масштабируемость, разработали стенд для тестирования, рассмотрели простейший алгоритм на ГСЧ.
![DoEasy. Элементы управления (Часть 1): Первые шаги](https://c.mql5.com/2/49/doeasy_001_600x314.jpg)
DoEasy. Элементы управления (Часть 1): Первые шаги
С этой статьи начинаем обширную тему по созданию на MQL5 элементов управления в стиле Windows Forms. И начнём тему с создания класса панели. Без наличия элементов управления уже становится сложно обходиться. Поэтому мы создадим все возможные элементы управления в стиле Windows Forms.
![Стать хорошим программистом (Часть 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-программистов, так и для профессионалов.
![Использование класса CCanvas в MQL приложениях](https://c.mql5.com/2/49/CCanvas_class_600x314.jpg)
Использование класса CCanvas в MQL приложениях
Статья об использовании класса CCanvas в MQL приложениях с подробным разбором и примерами, что даёт пользователю понимание основ работы с данным инструментом
![Пишем 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 (Часть 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): Стакан цен, классы объекта-снимка и объекта-серии снимков стакана цен
В статье создадим два класса - класс объекта-снимка стакана цен и класс объекта-серии снимков стакана цен и протестируем создание серии данных стакана цен.
![Прочие классы в библиотеке 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): События коллекции объектов-чартов
В статье создадим функционал отслеживания некоторых событий объектов-чартов — добавление и удаление графиков символов, добавление и удаление подокон на график, а также добавление/удаление/изменение индикаторов в окнах чартов.
![Популяционные алгоритмы оптимизации: Оптимизация Стаей Серых Волков (Grey Wolf Optimizer - GWO)](https://c.mql5.com/2/50/grey_wolf_optimizer_600x314.jpg)
Популяционные алгоритмы оптимизации: Оптимизация Стаей Серых Волков (Grey Wolf Optimizer - GWO)
Рассмотрим один из новейших современных алгоритмов оптимизации "Стаи серых волков". Оригинальное поведение на тестовых функциях делает этот алгоритм одним из самых интересных среди рассмотренных ранее. Один из лидеров для применения в обучении нейронных сетей, гладких функций с многими переменными.
![Как сделать график более интересным: добавление фона](https://c.mql5.com/2/49/Making-charts-more-interesting-Adding-a-background_600x314.jpg)
Как сделать график более интересным: добавление фона
Многие рабочие терминалы содержат некое репрезентативное изображение, которое показывает что-то о пользователе, эти изображения делают рабочий стол более красивым и разнообразным. Давайте посмотрим, как сделать графики более интересными, добавив фон.
![Стать хорошим программистом (Часть 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. Доработаем классы таймсерий для получения данных с любых таймфреймов для отображения их на текущем периоде графика.
![Графика в библиотеке 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): Программное создание стандартных графических объектов. Базовый функционал
Наша библиотека теперь умеет отслеживать появление на графике клиентского терминала стандартных графических объектов, их удаление и модификацию некоторых их параметров. Но для полного "комплекта" нам, конечно же, не хватает возможности создавать стандартные графические объекты из своих программ.
![Популяционные алгоритмы оптимизации](https://c.mql5.com/2/48/logo.png)
![Популяционные алгоритмы оптимизации](https://c.mql5.com/i/articles/overlay.png)
Популяционные алгоритмы оптимизации
Вводная статья об алгоритмах оптимизации (АО). Классификация. В статье предпринята попытка создать тестовый стенд (набор функций), который послужит в дальнейшем для сравнения АО между собой, и, даже, возможно, выявления самого универсального алгоритма из всех широко известных.
![Графика в библиотеке 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): Класс объекта-окна графика и классы объектов-индикаторов в окне графика
В статье продолжим разрабатывать класс объекта-чарта. Добавим к нему список объектов-окон графика, в которых в свою очередь будут доступны списки индикаторов, размещённых в них.
![Нелинейные индикаторы](https://c.mql5.com/2/50/non_linear_indicators_600x314.jpg)
Нелинейные индикаторы
В этой статье мы сделаем попытку рассмотреть некоторые способы построения нелинейных индикаторов и их использование в трейдинге. В торговой платформе MetaTrader довольно много индикаторов, которые используют нелинейные подходы.
![Изучение MQL5 от новичка до профи (Часть I): Начинаем программировать](https://c.mql5.com/2/60/Introduction_to_programming_using_the_MQL5_language_600x314.jpg)
Изучение MQL5 от новичка до профи (Часть I): Начинаем программировать
Эта статья является вводной для целого цикла статей о программировании. Здесь предполагается, что читатель вообще не сталкивался с программированием раньше. Поэтому начинаю я с самых основ. Уровень знания программирования: абсолютный новичок.
![Несколько индикаторов на графике (Часть 03): Разработка пользовательских определений](https://c.mql5.com/2/49/Multiple-indicators-on-one-chart-bPart-03n-Developing-definitions-for-users_600x314.jpg)
Несколько индикаторов на графике (Часть 03): Разработка пользовательских определений
Сегодня мы впервые обновляем функциональность системы индикаторов. В предыдущей статье "Несколько индикаторов на одном графике" мы рассмотрели основы кода, позволяющего использовать более одного индикатора в подокне, но то, что было представлено, было лишь начальной основой для гораздо более крупной системы.
![Работа с таймсериями в библиотеке 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): Коллекция таймсерий - реалтайм обновление и доступ к данным из программы
В статье рассмотрим реалтайм-обновление данных таймсерий и отправку сообщений о событии "Новый бар" на график управляющей программы от всех таймсерий всех символов для возможности обработки этих событий в своих программах. Для определения необходимости обновления таймсерий для нетекущих символа и периодов графика будем использовать класс "Новый тик".
![Работа с таймсериями в библиотеке 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тандартной библиотеки.
![Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)](https://c.mql5.com/2/50/popular_algorithm_ant_colony_optimization_600x314.jpg)
Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)
В этот раз разберём алгоритм оптимизации Муравьиная Колония. Алгоритм очень интересный и неоднозначный. Попытка создания нового типа ACO.
![Работа с таймсериями в библиотеке 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): Коллекция графических объектов - контролируем модификацию свойств
В статье рассмотрим отслеживание модификации значений свойств, удаление и переименование графических объектов в библиотеке.
![Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)](https://c.mql5.com/2/50/artificial_bee_colony_600x314.jpg)
Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)
Сегодня изучим алгоритм искусственной пчелиной колонии. Дополним наши знания новыми принципами исследования функциональных пространств. В данной статье я расскажу о моей интерпретации классического варианта алгоритма.
![Прочие классы в библиотеке 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): Класс-коллекция объектов-чартов
С этой статьи начнём разработку класса-коллекции объектов-чартов, который будет хранить в себе список-коллекцию объектов-чартов с их подокнами и индикаторами в них, и даст возможность работы с любыми выбранными чартами и их подокнами, или сразу со списком из нескольких чартов одновременно.
![Работа с таймсериями в библиотеке DoEasy (Часть 49): Мультипериодные мультисимвольные многобуферные стандартные индикаторы](https://c.mql5.com/2/49/doeasy_049_600x314.jpg)
Работа с таймсериями в библиотеке DoEasy (Часть 49): Мультипериодные мультисимвольные многобуферные стандартные индикаторы
В статье доработаем классы библиотеки для возможности создания мультисимвольных мультипериодных стандартных индикаторов, требующих для отображения своих данных несколько индикаторных буферов.
![Классификационные модели библиотеки 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.
![Несколько индикаторов на графике (Часть 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): Таймсерии данных буферов индикаторов
В завершении темы работы с таймсериями организуем хранение, поиск и сортировку данных, хранящихся в буферах индикаторов, что позволит в дальнейшем проводить анализ на основе значений индикаторов, создаваемых на основе библиотеки в своих программах. Общая концепция всех классов-коллекций библиотеки позволяет легко находить нужные данные в соответствующей коллекции, и соответственно, это же будет возможным и в создаваемом сегодня классе.
![Библиотека для простого и быстрого создания программ для 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.
![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 (Часть 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): Класс-коллекция индикаторов
В статье продолжим развитие классов объектов-индикаторов и их коллекции. Создадим для каждого объекта-индикатора его описание и скорректируем класс-коллекцию для безошибочного хранения и получения объектов-индикаторов из списка-коллекции.
![Работа с таймсериями в библиотеке DoEasy (Часть 43): Классы объектов индикаторных буферов](https://c.mql5.com/2/38/MQL5-avatar-doeasy-library__8.png)
![Работа с таймсериями в библиотеке DoEasy (Часть 43): Классы объектов индикаторных буферов](https://c.mql5.com/i/articles/overlay.png)
Работа с таймсериями в библиотеке DoEasy (Часть 43): Классы объектов индикаторных буферов
В статье рассмотрим создание классов объектов-индикаторных буферов как наследников абстрактного объекта-буфера, упрощающих объявление и работу с индикаторными буферами при создании собственных программ-индикаторов на основе библиотеки DoEasy.
![Графика в библиотеке DoEasy (Часть 76): Объект Форма и предопределённые цветовые темы](https://c.mql5.com/2/42/MQL5-avatar-doeasy-library3-2__3.png)
![Графика в библиотеке DoEasy (Часть 76): Объект Форма и предопределённые цветовые темы](https://c.mql5.com/i/articles/overlay.png)
Графика в библиотеке DoEasy (Часть 76): Объект Форма и предопределённые цветовые темы
В статье опишем концепцию построения различных тем оформления GUI в библиотеке, создадим объект "Форма", являющийся потомком объекта класса графического элемента, подготовим данные для создания теней графических объектов библиотеки и дальнейшего развития функционала.
![Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика](https://c.mql5.com/2/41/MQL5-avatar-doeasy-library__3.png)
![Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика](https://c.mql5.com/i/articles/overlay.png)
Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика
С данной статьи приступим к созданию функционала библиотеки для работы с ценовыми данными. Сегодня создадим класс объекта, который будет хранить в себе все данные цен, пришедшие с очередным тиком.