Статьи по программированию на языках MQL4 и MQL5

icon

Изучайте язык программирования торговых стратегий MQL5 по опубликованным здесь статьям, большая часть которых написана вами - членами сообщества. Все статьи разделены на категории для быстрого поиска ответа по тому или иному аспекту программирования: "Интеграция", "Тестер", "Торговые стратегии" и многое другое.

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Новая статья
последние | лучшие
preview
Разработка торговой системы на основе индекса силы быков Bulls Power

Разработка торговой системы на основе индекса силы быков Bulls Power

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. На этот раз мы поговорим об Индексе силы быков Bulls Power и создадим торговую систему по его показателям.
Принцип суперпозиции и интерференции финансовых инструментов
Принцип суперпозиции и интерференции финансовых инструментов

Принцип суперпозиции и интерференции финансовых инструментов

Чем больше факторов влияют на поведение валютной пары, тем сложнее оценить ее поведение и сделать прогнозы на будущее. И, следовательно, если бы нам удалось из валютной пары выделить ее составляющие, меняющиеся во времени значения национальной валюты, то тем самым, мы существенно сократили степень свободы движения национальной валюты по сравнению с валютной парой, в которую она входит, и количество факторов влияющих на ее поведение. А как результат, повысили точность оценки ее поведения и прогнозирования будущих значений. Как же нам это сделать?
preview
Работа с таймсериями в библиотеке DoEasy (Часть 52): Кроссплатформенность мультипериодных мультисимвольных однобуферных стандартных индикаторов

Работа с таймсериями в библиотеке DoEasy (Часть 52): Кроссплатформенность мультипериодных мультисимвольных однобуферных стандартных индикаторов

В статье рассмотрим создание мультисимвольного мультипериодного стандартного индикатора Accumulation/Distribution. Чтобы программы, написанные под устаревшую платформу MetaTrader 4, основанные на данной библиотеке, могли нормально работать при переходе на MetaTrader 5, мы немного доработаем классы библиотеки касаемо индикаторов.
preview
Торговые транзакции. Структуры запросов и ответов, описание и вывод в журнал

Торговые транзакции. Структуры запросов и ответов, описание и вывод в журнал

В статье рассмотрим работу со структурами торговых запросов — для создания запроса, его предварительной проверки перед отправкой на сервер, ответ сервера на торговый запрос и структуру торговых транзакций. Создадим простые удобные функции для отправки торговых приказов на сервер и, на основе всего рассмотренного, создадим советник-информер о торговых транзакциях.
preview
Использование ONNX-моделей в MQL5

Использование ONNX-моделей в MQL5

ONNX (Open Neural Network Exchange) — открытый стандарт представления моделей нейронных сетей. В данной статье мы рассмотрим процесс создания модели СNN-LSTM для прогнозирования финансовых временных рядов и использование созданной ONNX-модели в MQL5-эксперте.
preview
Нейросети — это просто (Часть 33): Квантильная регрессия в распределенном Q-обучении

Нейросети — это просто (Часть 33): Квантильная регрессия в распределенном Q-обучении

Продолжаем изучение распределенного Q-обучение. И сегодня мы посмотрим на данный подход с другой стороны. О возможности использования квантильной регрессии в решение вопрос прогнозирования ценовых движений.
preview
Нейросети — это просто (Часть 57): Стохастический маргинальный актор-критик (SMAC)

Нейросети — это просто (Часть 57): Стохастический маргинальный актор-критик (SMAC)

Предлагаем познакомиться с довольно новым алгоритмом Stochastic Marginal Actor-Critic (SMAC), который позволяет строить политики латентных переменных в рамках максимизации энтропии.
preview
Индикатор CCI. Модернизация и новые возможности

Индикатор CCI. Модернизация и новые возможности

В этой статье мы рассмотрим возможность модернизации индикатора CCI. Кроме того, будет представлен пример модификации этого индикатора.
preview
Вспоминаем старую трендовую стратегию: два стохастических осциллятора, MA и Фибоначчи

Вспоминаем старую трендовую стратегию: два стохастических осциллятора, MA и Фибоначчи

Старые торговые стратегии. В этой статье представлена стратегия отслеживания тренда. Стратегия исключительно техническая и использует несколько индикаторов и инструментов для подачи сигналов и определения целевых уровней. Компоненты стратегии включают в себя: 14-периодный стохастический осциллятор, пятипериодный стохастический осциллятор, скользящую среднюю с периодом 200 и проекцию Фибоначчи (для установки целевых уровней).
Работа с ценами в библиотеке DoEasy (Часть 62): Реалтайм-обновление тиковых серий, подготовка к работе со стаканом цен
Работа с ценами в библиотеке DoEasy (Часть 62): Реалтайм-обновление тиковых серий, подготовка к работе со стаканом цен

Работа с ценами в библиотеке DoEasy (Часть 62): Реалтайм-обновление тиковых серий, подготовка к работе со стаканом цен

В статье сделаем реалтайм-обновление коллекции тиковых данных и подготовим класс объекта-символа для работы со стаканом цен, работу над которым начнём со следующей статьи.
preview
Выставление ордеров в MQL5

Выставление ордеров в MQL5

При создании любой торговой системы есть задача, которую необходимо эффективно решить. Эта задача заключается в выставлении ордеров либо в их автоматической обработке торговой системой. В статье рассмотрено создание торговой системы с точки зрения эффективного выставления ордеров.
Графика в библиотеке DoEasy (Часть 82): Рефакторинг объектов библиотеки и коллекция графических объектов
Графика в библиотеке DoEasy (Часть 82): Рефакторинг объектов библиотеки и коллекция графических объектов

Графика в библиотеке DoEasy (Часть 82): Рефакторинг объектов библиотеки и коллекция графических объектов

В статье доработаем все объекты библиотеки - присвоим каждому объекту его уникальный тип и продолжим разработку класса-коллекции графических объектов библиотеки.
Графика в библиотеке DoEasy (Часть 96): Работа с событиями мышки и графика в объектах-формах
Графика в библиотеке DoEasy (Часть 96): Работа с событиями мышки и графика в объектах-формах

Графика в библиотеке DoEasy (Часть 96): Работа с событиями мышки и графика в объектах-формах

В статье начнём разработку функционала для работы с событиями мышки в объектах-формах и добавим новые свойства и их отслеживание в объект-символ. Помимо этого сегодня доработаем класс объекта-символа, так как с момента его написания у символов графика появились новые свойства, которые желательно учитывать и отслеживать их изменение.
preview
Как построить советник, работающий автоматически (Часть 03): Новые функции

Как построить советник, работающий автоматически (Часть 03): Новые функции

Сегодня вы научитесь создавать советник, который просто и безопасно работает в автоматическом режиме. В предыдущей статье мы начали разрабатывать систему ордеров, которой будем пользоваться в автоматическом советнике. Однако мы создали только одну из необходимых функций или процедур.
Графика в библиотеке DoEasy (Часть 94): Составные графические объекты, перемещение и удаление
Графика в библиотеке DoEasy (Часть 94): Составные графические объекты, перемещение и удаление

Графика в библиотеке DoEasy (Часть 94): Составные графические объекты, перемещение и удаление

В статье начнём разработку различных событий составного графического объекта. Рассмотрим частично перемещение и удаление составного графического объекта. Сегодня по большей части мы будем дорабатывать то, что было создано в прошлой статье.
preview
Нейросети — это просто (Часть 32): Распределенное Q-обучение

Нейросети — это просто (Часть 32): Распределенное Q-обучение

В одной из статей данной серии мы с вами уже познакомились с методом Q-обучения. Данный метод усредняет вознаграждения за каждое действие. В 2017 году были представлены сразу 2 работы, в которых большего успеха добиваются при изучении функции распределения вознаграждения. Давайте рассмотрим возможность использования подобной технологии для решения наших задач.
Графика в библиотеке DoEasy (Часть 95): Элементы управления составными графическими объектами
Графика в библиотеке DoEasy (Часть 95): Элементы управления составными графическими объектами

Графика в библиотеке DoEasy (Часть 95): Элементы управления составными графическими объектами

В статье рассмотрим инструментарий для управления составными графическими объектами - элементы управления расширенным стандартным графическим объектом. Сегодня мы немного отступим от темы перемещения составного графического объекта и сделаем обработчик события изменения графика, на котором находится составной графический объект, и займёмся объектами управления составным графическим объектом.
preview
Разработка торгового советника с нуля (Часть 12): Время и торговля (I)

Разработка торгового советника с нуля (Часть 12): Время и торговля (I)

Сегодня мы создадим Time & Trade с быстрой интерпретацией для чтения потока ордеров. Это первая часть, в которой мы будем строить эту систему. В следующей статье мы дополним систему недостающей информацией, поскольку нам потребуется добавить в код нашего эксперта несколько новых вещей.
preview
Машинное обучение и Data Science (Часть 03): Матричная регрессия

Машинное обучение и Data Science (Часть 03): Матричная регрессия

В этот раз мы будем создавать модели с помощью матриц — они дают большую гибкость и позволяют создавать мощные модели, которые могут обрабатывать не только пять независимых переменных, но и множество других, насколько позволяют пределы вычислительных возможностей компьютера. Статья будет очень интересной, это точно.
preview
Популяционные алгоритмы оптимизации: Гармонический поиск (Harmony Search — HS)

Популяционные алгоритмы оптимизации: Гармонический поиск (Harmony Search — HS)

Сегодня изучим и протестируем мощнейший алгоритм оптимизации - гармонический поиск (HS), который инспирирован процессом поиска идеальной звуковой гармонии. И какой же алгоритм теперь лидер в нашем рейтинге?
preview
Машинное обучение и Data Science. Нейросети (Часть 02): архитектура нейронных сетей с прямой связью

Машинное обучение и Data Science. Нейросети (Часть 02): архитектура нейронных сетей с прямой связью

В предыдущей статье мы начали изучать нейросети с прямой связью, однако остались неразобранными некоторые моменты. Один из них — проектирование архитектуры. Поэтому в этой статье мы рассмотрим, как спроектировать гибкую нейронную сеть с учетом входных данных, количества скрытых слоев и узлов для каждой сети.
preview
Разработка экспериментальной DLL с поддержкой многопоточности в C++ для MetaTrader 5 на Linux

Разработка экспериментальной DLL с поддержкой многопоточности в C++ для MetaTrader 5 на Linux

В статье рассмотрен процесс разработки для платформы MetaTrader 5 исключительно в системе Linux. При этом конечный продукт без проблем работает как в Windows, так и в Linux. Мы познакомимся с Wine и Mingw - важными инструментами кроссплатформенной разработки. В Mingw реализована потоковая передача (POSIX и Win32), что необходимо учитывать при выборе подходящего инструмента. Затем мы создадим DLL для проверки концепции и используем ее в коде MQL5, а также сравним производительность обеих реализаций потоков. Статья призвана стать отправной точкой для ваших собственных экспериментов. После прочтения статьи вы сможете создавать инструменты для MetaTrader в Linux.
preview
Как выбрать торгового советника: Двадцать явных признаков плохого робота

Как выбрать торгового советника: Двадцать явных признаков плохого робота

В этой статье мы попытаемся ответить на вопрос, как выбрать подходящего торгового советника. Какие из них лучше всего подходят для нашего портфеля и как мы можем отсеять большую часть торговых роботов, доступных на рынке? В статье представлены двадцать явных признаков некачественного советника. Статья поможет вам принимать более обоснованные решения и создать коллекцию прибыльных торговых советников.
preview
Работа с таймсериями в библиотеке DoEasy (Часть 53): Класс абстрактного базового индикатора

Работа с таймсериями в библиотеке DoEasy (Часть 53): Класс абстрактного базового индикатора

В статье рассмотрим создание класса абстрактного индикатора, который далее будет использоваться как базовый класс для создания объектов стандартных и пользовательских индикаторов библиотеки.
preview
Разработка торговой системы на основе индекса силы медведей Bears Power

Разработка торговой системы на основе индекса силы медведей Bears Power

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. На этот раз мы поговорим об Индексе силы медведей Bears Power и создадим торговую систему по его показателям.
preview
Разработка торговой системы на основе индикатора VIDYA

Разработка торговой системы на основе индикатора VIDYA

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. В этой статье мы поговорим об индикаторе Скользящей средней с динамическим периодом усреднения (Variable Index Dynamic Average, VIDYA) и создадим торговую систему по его показателям.
preview
Разработка торговой системы на основе Accelerator Oscillator

Разработка торговой системы на основе Accelerator Oscillator

Новая статья из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. На этот раз будем изучать индикатор Accelerator Oscillator — узнаем, как его использовать и как создавать торговые системы на его основе.
preview
Делаем информационную панель для отображения данных в индикаторах и советниках

Делаем информационную панель для отображения данных в индикаторах и советниках

В статье рассмотрим создание класса информационной панели для использования её в индикаторах и советниках. Это вводная статья в небольшой серии статей с шаблонами подключения и использования стандартных индикаторов в советниках. Начнем мы с создания панели — аналога окна данных MetaTrader 5.
preview
Разработка торговой системы на основе Индекса облегчения рынка MFI от Билла Вильямса

Разработка торговой системы на основе Индекса облегчения рынка MFI от Билла Вильямса

Это новая статья из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. В этой новой статье мы рассмотрим Индекс облегчения рынка (Market Facilitation Index, MFI), разработанный Биллом Вильямсом.
preview
Разработка торговой системы на основе индикатора MFI

Разработка торговой системы на основе индикатора MFI

Это новая статья из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. На этот раз она посвящена Индексу денежного потока MFI. Мы подробно изучим этот индикатор и разработаем простые торговые системы на MQL5 для исполнения в MetaTrader 5.
preview
Машинное обучение и Data Science (Часть 12): Можно ли выигрывать на рынке с помощью самообучающихся нейронных сетей?

Машинное обучение и Data Science (Часть 12): Можно ли выигрывать на рынке с помощью самообучающихся нейронных сетей?

Наверняка многим надоели постоянные попытки предсказать фондовый рынок. Хотели бы вы иметь хрустальный шар, который бы помогал принимать более обоснованные инвестиционные решения? Самообучающиеся нейронные сети могут стать таким решением. В этой статье мы посмотрим, могут ли такие мощные алгоритмы помочь «оседлать волну» и перехитрить фондовый рынок. Анализируя огромные объемы данных и выявляя закономерности, самообучающиеся нейронные сети могут делать прогнозы, которые зачастую более точны, чем прогнозы от трейдеров. Давайте посмотрим, можно ли использовать эти передовые технологии, чтобы принимать разумные инвестиционные решения и зарабатывать больше.
preview
Индикатор исторических позиций на графике в виде диаграммы их прибыли/убытка

Индикатор исторических позиций на графике в виде диаграммы их прибыли/убытка

В статье рассмотрим вариант получения информации о закрытых позициях по истории их сделок. Создадим простой индикатор, отображающий в виде диаграммы приблизительный профит/убыток позиций на каждом баре.
preview
Машинное обучение и Data Science (Часть 04): Предсказание биржевого краха

Машинное обучение и Data Science (Часть 04): Предсказание биржевого краха

В этой статье я попытаюсь использовать нашу логистическую модель, чтобы спрогнозировать крах фондового рынка на основе главнейших акций для экономики США: NETFLIX и APPLE. Мы проанализируем эти акции, будем использовать информацию о предыдущих падениях рынка 2019 и 2020 годов. Посмотрим, как наша модель будет работать в нынешних мрачных условиях.
Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com
Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com

Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com

В статье создадим класс-коллекцию сигналов Сервиса Сигналов MQL5.com с функциями управления подписанными сигналами, а также доработаем класс объекта-снимка стакана цен для отображения общего объёма стакана на покупку и на продажу.
preview
Эксперименты с нейросетями (Часть 6): Перцептрон как самодостаточное средство предсказания цены

Эксперименты с нейросетями (Часть 6): Перцептрон как самодостаточное средство предсказания цены

Пример использования перцептрона как самодостаточного средства предсказания цены. В статье даются общие понятия, представлен простейший готовый советник и результаты его оптимизации.
preview
Регрессионные модели библиотеки Scikit-learn и их экспорт в ONNX

Регрессионные модели библиотеки Scikit-learn и их экспорт в ONNX

В данной статье мы рассмотрим применение регрессионных моделей пакета Scikit-learn, попробуем их сконвертировать в ONNX-формат и использовать полученные модели в программах на MQL5. Также мы сравним точность работы оригинальных моделей и их ONNX-версий для float и double. Кроме того, мы рассмотрим ONNX-представление регресионных моделей, это позволит лучше понять их внутреннее устройство и принцип работы.
preview
Торговая техника RSI Deep Three Move

Торговая техника RSI Deep Three Move

В статье представлена техника торговли RSI Deep Three Move в MetaTrader 5. Статья основана на новой серии исследований, демонстрирующих несколько торговых методов, основанных на RSI - техническом индикаторе для измерения силы и импульса ценных бумаг, включая акции, валюты и товары.
preview
Разработка торговой системы на основе стандартного отклонения

Разработка торговой системы на основе стандартного отклонения

Представляю вашему вниманию новую статью из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов и пишем на их основе системы на языке MQL5 для использования в MetaTrader 5. В этой статье мы узнаем, как разработать торговую систему по индикатору стандартного отклонения.
preview
Разработка торговой системы на основе Индекса относительной бодрости Relative Vigor Index

Разработка торговой системы на основе Индекса относительной бодрости Relative Vigor Index

Это новая статья из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. В этот раз познакомимся с Индексом относительной бодрости (Relative Vigor Index, RVI).
preview
Индикаторы с интерактивным управлением на графике

Индикаторы с интерактивным управлением на графике

Новый взгляд на интерфейс индикаторов. Главное — удобство. Перепробовав за долгие годы десятки различных торговых стратегий, а также протестировав сотни различных индикаторов, я сделал для себя некоторые выводы, которыми хочу с вами поделиться в этой статье.