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

icon

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

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

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

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

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

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. На этот раз мы поговорим об Индексе силы быков Bulls Power и создадим торговую систему по его показателям.
preview
Модифицированный советник Grid-Hedge в MQL5 (Часть I): Создание простого хеджирующего советника

Модифицированный советник Grid-Hedge в MQL5 (Часть I): Создание простого хеджирующего советника

Мы будем создавать простой хеджирующий советник в качестве основы для нашего более продвинутого советника Grid-Hedge, который будет представлять собой смесь классической сетки и классических стратегий хеджирования. К концу этой статьи вы узнаете, как создать простую стратегию хеджирования, а также что говорят люди о прибыльности этой стратегии.
Прочие классы в библиотеке DoEasy (Часть 70): Расширение функционала и автообновление коллекции объектов-чартов
Прочие классы в библиотеке DoEasy (Часть 70): Расширение функционала и автообновление коллекции объектов-чартов

Прочие классы в библиотеке DoEasy (Часть 70): Расширение функционала и автообновление коллекции объектов-чартов

В статье расширим функционал объектов-чартов, организуем навигацию по графикам, создание скриншотов, сохранение и применение шаблонов к графикам. Также сделаем автоматическое обновление коллекции объектов-чартов, их окон и индикаторов в них.
preview
Объектно-ориентированное программирование (ООП) в MQL5

Объектно-ориентированное программирование (ООП) в MQL5

Как разработчикам, нам необходимо научиться создавать и разрабатывать программное обеспечение, которое можно использовать многократно и гибко, без дублирования кода, особенно если у нас есть разные объекты с разным поведением. Это можно легко сделать, используя методы и принципы объектно-ориентированного программирования. В этой статье представлены основы объектно-ориентированного программирования в MQL5.
Работа с ценами в библиотеке DoEasy (Часть 63): Стакан цен, класс абстрактной заявки стакана цен
Работа с ценами в библиотеке DoEasy (Часть 63): Стакан цен, класс абстрактной заявки стакана цен

Работа с ценами в библиотеке DoEasy (Часть 63): Стакан цен, класс абстрактной заявки стакана цен

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

Графика в библиотеке DoEasy (Часть 91): События стандартных графических объектов в программе. История изменения имени объекта

В статье доработаем базовый функционал для предоставления контроля событий графических объектов из программы, работающей на основе библиотеки. Начнём создание функционала для хранения истории изменений свойств графических объектов на примере свойства "Имя объекта".
preview
Прогнозирование на основе глубокого обучения и открытие ордеров с помощью пакета MetaTrader 5 python и файла модели ONNX

Прогнозирование на основе глубокого обучения и открытие ордеров с помощью пакета MetaTrader 5 python и файла модели ONNX

Проект предполагает использование Python для прогнозирования на финансовых рынках на основе глубокого обучения. Мы изучим тонкости тестирования производительности модели с использованием таких ключевых показателей, как средняя абсолютная ошибка (MAE), средняя квадратичная ошибка (MSE) и R-квадрат (R2), а также научимся объединять это всё в исполняемом файле. Мы также создадим файл модели ONNX и советник.
Запуск на Linux-desktop клиентского терминала MetaTrader 4 build 198
Запуск на Linux-desktop клиентского терминала MetaTrader 4 build 198

Запуск на Linux-desktop клиентского терминала MetaTrader 4 build 198

Описание пошаговой подготовки Linux-desktop с использованием неэмулятора wine для запуска на нем клиентского терминала MetaTrader 4 build 198.
preview
Разработка торгового советника с нуля (Часть 29): Говорящая платформа

Разработка торгового советника с нуля (Часть 29): Говорящая платформа

В этой статье мы научимся, как заставить платформу MT5 говорить. А что если мы сделаем советника более веселым? Торговля на финансовых рынках часто является чрезвычайно скучным и монотонным занятием, но мы можем сделать эту работу менее утомительной. Этот проект может стать опасным, если у вас есть проблема, делающая вас зависимым, но на самом деле весь сценарий с модификациями может быть более увлекательным и менее скучным.
preview
Разработка торговой системы на основе индекса силы медведей Bears Power

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

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

Реализация расширенного теста Дики-Фуллера в MQL5

В статье показаны реализация расширенного теста Дики-Фуллера и его применение для проведения коинтеграционных тестов с использованием метода Энгла-Грейнджера.
preview
Нейросети — это просто (Часть 57): Стохастический маргинальный актор-критик (SMAC)

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

Предлагаем познакомиться с довольно новым алгоритмом Stochastic Marginal Actor-Critic (SMAC), который позволяет строить политики латентных переменных в рамках максимизации энтропии.
preview
Алгоритм кодового замка (Сode Lock Algorithm, CLA)

Алгоритм кодового замка (Сode Lock Algorithm, CLA)

В этой статье мы переосмыслим кодовые замки, превращая их из механизмов защиты в инструменты для решения сложных задач оптимизации. Откройте для себя мир кодовых замков, не как простых устройств безопасности, но как вдохновения для нового подхода к оптимизации. Мы создадим целую популяцию "замков", где каждый замок представляет собой уникальное решение задачи. Затем мы разработаем алгоритм, который будет "вскрывать" эти замки и находить оптимальные решения в самых разных областях, от машинного обучения до разработки торговых систем.
preview
Модифицированный советник Grid-Hedge в MQL5 (Часть II): Создание простого сеточного советника

Модифицированный советник Grid-Hedge в MQL5 (Часть II): Создание простого сеточного советника

В статье рассматривается классическая сеточная стратегия, подробно описана ее автоматизация с помощью советника на MQL5 и проанализированы первоначальные результаты тестирования на истории. Также подчеркивается необходимость в долгом удержании позиций и рассматривается возможность оптимизации ключевых параметров (таких как расстояние, тейк-профит и размеры лотов) в будущих частях. Целью этой серии статей является повышение эффективности торговой стратегии и ее адаптируемости к различным рыночным условиям.
Интервью с Валерием Мазуренко (ATC 2010)
Интервью с Валерием Мазуренко (ATC 2010)

Интервью с Валерием Мазуренко (ATC 2010)

К концу первой торговой недели на первом месте оказался Валерий Мазуренко (notused) с мультивалютным экспертом ch2010. Ранее воспринимавший трейдинг как хобби, Валерий уже полгода пытается монетизировать свое «увлечение» и написать устойчивый советник для реальной торговли. В этом интервью экспертописатель делится своими взглядами на роль математики в трейдинге и рассказывает, почему объектно-ориентированный подход отлично подходит для написания мультивалютников.
preview
Все, что вам нужно знать о структуре программы MQL5

Все, что вам нужно знать о структуре программы MQL5

Любая программа на любом языке программирования имеет определенную структуру. В этой статье вы изучите основные компоненты структуры программы на MQL5, что может быть очень полезно при создании торговой системы или торгового инструмента для MetaTrader 5.
preview
Брутфорс-подход к поиску закономерностей (Часть VI): Циклическая оптимизация

Брутфорс-подход к поиску закономерностей (Часть VI): Циклическая оптимизация

В этой статье я покажу первую часть доработок, которые позволили мне не только замкнуть всю цепочку автоматизации для торговли в MetaTrader 4 и 5, но и сделать что-то гораздо интереснее. Отныне данное решение позволяет мне полностью автоматизировать как процесс создания советников, так и процесс оптимизации, а также минимизировать трудозатраты на поиск эффективных торговых конфигураций.
preview
Как построить советник, работающий автоматически (Часть 06): Виды счетов (I)

Как построить советник, работающий автоматически (Часть 06): Виды счетов (I)

Сегодня мы рассмотрим, как создать советник, который просто и безопасно работает в автоматическом режиме. Пока наш советник может работать в любой ситуации, но он ещё не готов к автоматизации, поэтому нам нужно проработать несколько моментов.
preview
Индикаторы с интерактивным управлением на графике

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

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

Эконометрические инструменты для прогнозирования волатильности: Модель GARCH

В статье дается описание свойств нелинейной модели условной гетероскедастичности(GARCH). На ее основе построен индикатор iGARCH для прогнозирования волатильности на один шаг вперед. Для оценки параметров модели используется библиотека численного анализа ALGLIB.
preview
Готовые шаблоны для подключения индикаторов в экспертах (Часть 2): Индикакторы объёма и Билла Вильямса

Готовые шаблоны для подключения индикаторов в экспертах (Часть 2): Индикакторы объёма и Билла Вильямса

В статье рассмотрим стандартные индикаторы из категории Объемов и индикаторов Билла Вильямса. Создадим готовые к применению шаблоны использования индикаторов в советниках — объявление и установка параметров, инициализация, деинициализация индикаторов и получение данных и сигналов из индикаторных буферов в советниках.
preview
Простые решения для удобной работы с индикаторами

Простые решения для удобной работы с индикаторами

В этой статье расскажу, как сделать простенькую панельку для изменения настроек индикатора прямо с графика, и какие изменения нужно внести в индикатор, чтобы подключить эту панель. Статья рассчитана исключительно на тех, кто только начал знакомиться с языком MQL5.
Работа с таймсериями в библиотеке DoEasy (Часть 48): Мультипериодные мультисимвольные индикаторы на одном буфере в подокне
Работа с таймсериями в библиотеке DoEasy (Часть 48): Мультипериодные мультисимвольные индикаторы на одном буфере в подокне

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

В статье рассмотрим пример создания мультисимвольных мультипериодных стандартных индикаторов, использующих для своих построений один индикаторный буфер, и работающих в подокне графика. Подготовим классы библиотеки для работы со стандартными индикаторами, работающими в основном окне программы, или имеющими более одного буфера для вывода своих данных.
preview
Разработка и тестирование торговых систем Aroon

Разработка и тестирование торговых систем Aroon

В этой статье мы узнаем, как построить торговую систему Aroon, изучив основы индикаторов и необходимые шаги для создания торговой системы на основе индикатора Aroon. После создания этой торговой системы мы проверим, может ли она быть прибыльной или требует дополнительной оптимизации.
preview
Тестируем информативность разных типов скользящих средних

Тестируем информативность разных типов скользящих средних

Мы все знаем важность скользящей средней для многих трейдеров. Существуют разные типы скользящих средних, которые могут быть полезны в торговле. Мы рассмотрим их и проведем простое сравнение, чтобы увидеть, какой из них может показать лучшие результаты.
preview
Работа с ONNX-моделями в форматах float16 и float8

Работа с ONNX-моделями в форматах float16 и float8

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

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

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

Как опередить любой рынок?

Узнайте, как опередить любой рынок независимо от вашего опыта торговли на нем.
preview
Работа с матрицами, расширение функционала Стандартной библиотеки матриц и векторов

Работа с матрицами, расширение функционала Стандартной библиотеки матриц и векторов

Матрица служит основой алгоритмов машинного обучения и компьютеров в целом из-за ее способности эффективно обрабатывать большие математические операции. В Стандартной библиотеке есть все, что нужно, но мы можем расширить ее, добавив несколько функций в файл utils.
preview
Торговля спредами на рынке форекс с использованием фактора сезонности

Торговля спредами на рынке форекс с использованием фактора сезонности

В статье рассматриваются возможности формирования и предоставления отчетных данных по использованию фактора сезонности при торговле спредами на рынке форекс.
preview
Скрытые марковские модели в торговых системах на машинном обучении

Скрытые марковские модели в торговых системах на машинном обучении

Скрытые марковские модели (СММ) представляют собой мощный класс вероятностных моделей, предназначенных для анализа последовательных данных, где наблюдаемые события зависят от некоторой последовательности ненаблюдаемых (скрытых) состояний, которые формируют марковский процесс. Основные предположения СММ включают марковское свойство для скрытых состояний, означающее, что вероятность перехода в следующее состояние зависит только от текущего состояния, и независимость наблюдений при условии знания текущего скрытого состояния.
Интервью с Берроном Паркером (ATC 2010)
Интервью с Берроном Паркером (ATC 2010)

Интервью с Берроном Паркером (ATC 2010)

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

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

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

Как построить советник, работающий автоматически (Часть 05): Ручные триггеры (II)

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

Понимание и эффективное использование тестера стратегий MQL5

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

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

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

Разработка торгового советника с нуля (Часть 23): Новая система ордеров (VI)

Мы сделаем систему ордеров более гибкой. Здесь я покажу вам, как и где внести изменения в код, чтобы делать его более гибким, что позволит нам намного быстрее изменять лимиты позиций.
preview
Осваиваем рыночную динамику: Создание советника на основе стратегии поддержки и сопротивления

Осваиваем рыночную динамику: Создание советника на основе стратегии поддержки и сопротивления

В статье представлено подробное руководство по разработке автоматизированного торгового алгоритма на основе стратегии поддержки и сопротивления. Дана подробная информация по всем аспектам создания советника на MQL5 и его тестирования в MetaTrader 5 — от анализа поведения ценового диапазона до управления рисками.
preview
Разработка торговой системы на основе Индекса относительной бодрости Relative Vigor Index

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

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