Статьи с примерами программирования на языке MQL5

icon

Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе MetaEditor и запустить самостоятельно.

Эти статьи будут полезны как новичкам в автоматическом трейдинге, так и подготовленным трейдерам с опытом программирования и торговли. Здесь вы найдете не только примеры, но и новые идеи.

Новая статья
последние | лучшие
preview
Собственные векторы и собственные значения: Разведочный анализ данных в MetaTrader 5

Собственные векторы и собственные значения: Разведочный анализ данных в MetaTrader 5

В статье мы рассмотрим различные способы применения собственных векторов и собственных значений в разведочном анализе данных для выявления в них уникальных взаимосвязей.
preview
Создание торговой панели администратора на MQL5 (Часть V): Двухфакторная аутентификация (2FA)

Создание торговой панели администратора на MQL5 (Часть V): Двухфакторная аутентификация (2FA)

В статье рассмотрено повышение безопасности панели торгового администратора, которая в настоящее время находится в разработке. Мы рассмотрим, как внедрить MQL5 в новую стратегию безопасности, интегрировав API Telegram для двухфакторной аутентификации (2FA). Статья предоставит ценную информацию о применении MQL5 для усиления мер безопасности. Кроме того, мы рассмотрим функцию MathRand, сосредоточившись на ее функциональности и на том, как ее можно эффективно использовать в нашей системе безопасности.
preview
Оптимизация и тонкая настройка исходного кода для улучшения результатов тестирования на истории

Оптимизация и тонкая настройка исходного кода для улучшения результатов тестирования на истории

Улучшите свой код MQL5, оптимизировав логику, улучшив вычисления и сократив время выполнения, чтобы повысить точность тестирования на истории. Проведите тонкую настройку параметров, оптимизацию циклов и устранение неэффективности для улучшения результата.
preview
Теория графов: Алгоритм Дейкстры в трейдинге

Теория графов: Алгоритм Дейкстры в трейдинге

Алгоритм Дейкстры — классическое решение по поиску кратчайшего пути в теории графов, которое позволяет оптимизировать торговые стратегии путем моделирования рыночных сетей. Трейдеры могут использовать его для поиска наиболее эффективных маршрутов в данных свечного графика.
preview
От новичка до эксперта: Индикатор Market Periods Synchronizer

От новичка до эксперта: Индикатор Market Periods Synchronizer

В настоящем обсуждении мы представляем инструмент синхронизации таймфреймов от старших к младшим, предназначенный для решения проблемы анализа рыночных паттернов, охватывающих периоды старших таймфреймов. Встроенные маркеры периодов в MetaTrader 5 часто ограничены, жестки и их нелегко настроить для нестандартных таймфреймов. Наше решение использует язык MQL5 для разработки индикатора, обеспечивающего динамичный и наглядный способ выравнивания структур старших таймфреймов на графиках младших таймфреймов. Этот инструмент может быть очень полезен для детального анализа рынка. Чтобы узнать больше о его функциях и реализации, приглашаю вас присоединиться к обсуждению.
preview
Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

Сегодня мы продолжим разработку системы и управления. Без возможности управления сервисом сложно двигаться вперед и совершенствовать систему.
preview
Подробная информация о торговле на основе объема: Выход за рамки графиков OHLC

Подробная информация о торговле на основе объема: Выход за рамки графиков OHLC

Алгоритмическая торговая система, сочетающая анализ объема с методами машинного обучения, в частности с нейронными сетями LSTM. В отличие от традиционных торговых подходов, которые в первую очередь фокусируются на движении цен, эта система делает упор на паттернах объема и их производных для прогнозирования движений рынка. Методология включает в себя три основных компонента: анализ производных от объема (первые и вторые производные), прогнозы LSTM для паттернов объема и традиционные технические индикаторы.
preview
Создание торговой панели администратора на MQL5 (Часть III): Расширение встроенных классов для управления темами (II)

Создание торговой панели администратора на MQL5 (Часть III): Расширение встроенных классов для управления темами (II)

Мы расширим существующую библиотеку Dialog, включив в нее логику управления темами. Кроме того, мы интегрируем методы переключения тем в классы CDialog, CEdit и CButton, используемые в нашем проекте панели администратора.
preview
Создание торговой панели администратора на MQL5 (Часть II): Повышение оперативности реагирования и быстрого обмена сообщениями

Создание торговой панели администратора на MQL5 (Часть II): Повышение оперативности реагирования и быстрого обмена сообщениями

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

Переосмысливаем классические стратегии (Часть IX): Анализ на нескольких таймфреймах (II)

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

Разработка системы репликации (Часть 51): Все усложняется (III)

В данной статье мы разберемся с одним из самых сложных вопросов сферы программирования на MQL5: как правильно получить ID графика, и почему иногда объекты не строятся на графике. Представленные здесь материалы носят исключительно дидактический характер. Ни в коем случае нельзя рассматривать приложение ни с какой иной целью, кроме как для изучения и освоения представленных концепций.
preview
Метод группового учета аргументов: реализация комбинаторного алгоритма на MQL5

Метод группового учета аргументов: реализация комбинаторного алгоритма на MQL5

В этой статье мы продолжаем изучение семейства алгоритмов группового учета аргументов. Реализуем средствами MQL5 комбинаторный алгоритм, а также его усовершенствованную версию — комбинаторный селективный алгоритм.
preview
Переосмысливаем классические стратегии (Часть V): Анализ нескольких инструментов в валютной паре USDZAR

Переосмысливаем классические стратегии (Часть V): Анализ нескольких инструментов в валютной паре USDZAR

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

Введение в Connexus (Часть 1): Как использовать функцию WebRequest?

Настоящая статья является началом серии разработок для библиотеки под названием “Connexus”, предназначенной для облегчения выполнения HTTP-запросов с помощью MQL5. Цель настоящего проекта - предоставить конечному пользователю такую возможность и показать, как использовать эту вспомогательную библиотеку. Я намеревался сделать его как можно более простым, чтобы облегчить изучение и обеспечить возможность для будущих разработок.
preview
Применение локализованного отбора признаков на Python и MQL5

Применение локализованного отбора признаков на Python и MQL5

В настоящей статье рассматривается алгоритм отбора признаков, представленный в статье "Выбор локальных признаков для классификации данных» ('Local Feature Selection for Data Classification') Наргеса Арманфарда и соавторов (Narges Armanfard et al.). Алгоритм реализован на Python для построения моделей бинарных классификаторов, которые могут быть интегрированы с приложениями MetaTrader 5 для логического вывода.
preview
Переосмысливаем классические стратегии (Часть VII): Анализ валютных рынков и суверенного долга на USDJPY

Переосмысливаем классические стратегии (Часть VII): Анализ валютных рынков и суверенного долга на USDJPY

Мы проанализируем взаимосвязь между валютными курсами и государственными облигациями. Облигации являются одной из самых популярных форм ценных бумаг с фиксированным доходом. Посмотрим, можно ли улучшить классическую стратегию с помощью ИИ.
preview
Разработка инструментария для анализа движения цен (Часть 5): Советник Volatility Navigator

Разработка инструментария для анализа движения цен (Часть 5): Советник Volatility Navigator

Определить направление рынка может быть просто, но вот понять, когда входить на рынок, - гораздо более сложная задача. В этой статье серии "Разработка инструментария для анализа движения цен" я представлю еще один инструмент, который определяет точки входа и уровни стоп-лосса/тейк-профита. Для достижения этой цели использовался язык программирования MQL5.
preview
Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Изменяемые размеры элементов

Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Изменяемые размеры элементов

В статье добавим функционал изменения размеров элементов управления при помощи перетаскивания мышкой граней и углов элемента.
preview
От начального до среднего уровня: Шаблон и Typename (III)

От начального до среднего уровня: Шаблон и Typename (III)

В этой статье мы рассмотрим первую часть темы, которая не так проста для понимания новичками. Чтобы не запутаться еще больше и правильно объяснить данную тему, мы разделим объяснение на этапы. Эту статью мы посвятим первому этапу. Однако, хотя в конце статьи может показаться, что мы зашли в тупик, на самом деле мы сделаем шаг к другой ситуации, которая будет лучше понятна в следующей статье.
preview
Разработка системы репликации (Часть 56): Адаптация модулей

Разработка системы репликации (Часть 56): Адаптация модулей

Несмотря на то, что модули уже взаимодействуют друг с другом должным образом, при попытке использовать указатель мыши в сервисе репликации, возникает ошибка. Нам нужно исправить это прежде, чем переходить к следующему этапу. Кроме того, была исправлена проблема в коде индикатора мыши. Таким образом, эта версия наконец-то стала стабильной и правильно доработанной.
preview
Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция

Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция

Эта статья является продолжением темы социального поведения живых организмов и его воздействия на разработку новой математической модели - ASBO (Adaptive Social Behavior Optimization). Мы погрузимся в двухфазную эволюцию, проведем тестирование алгоритма и сделаем выводы. Подобно тому, как в природе группа живых организмов объединяет свои усилия для выживания, ASBO использует принципы коллективного поведения для решения сложных задач оптимизации.
preview
Создание панели торгового администратора на MQL5 (Часть I): Создание интерфейса обмена сообщениями

Создание панели торгового администратора на MQL5 (Часть I): Создание интерфейса обмена сообщениями

В данной статье рассматривается создание интерфейса обмена сообщениями для MetaTrader 5, предназначенного для системных администраторов, чтобы облегчить общение с другими трейдерами непосредственно внутри платформы. Недавняя интеграция социальных платформ с MQL5 позволяет быстро транслировать сигнал по разным каналам. Представьте, что вы можете проверять отправленные сигналы одним щелчком мыши — либо "ДА", либо "НЕТ". Читайте дальше, чтобы узнать больше.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 9): Двойное пересечение скользящих средних

Создание самооптимизирующихся советников на MQL5 (Часть 9): Двойное пересечение скользящих средних

В этой статье описывается разработка стратегии двойного пересечения скользящих средних, которая использует сигналы с более высокого таймфрейма (D1) для определения входов на более низком таймфрейме (M15), при этом уровни стоп-лосса рассчитываются на основе промежуточного таймфрейма риска (H4). Вводятся системные константы, пользовательские перечисления и логика для режимов следования за трендом и возврата к среднему, при этом особое внимание уделяется модульности и последующей оптимизации с использованием генетического алгоритма. Такой подход обеспечивает гибкие условия входа и выхода, стремясь уменьшить запаздывание сигналов и улучшить тайминг сделок за счёт согласования входов на младших таймфреймах с трендами старших таймфреймов.
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года

Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года

В данной теме представлены Еженедельные Репортажи Чемпионата 2007 года. Эти материалы являются моментальными снимками, которые интересно читать не только в ходе самих соревнований, но и спустя годы.
preview
Создание торговой панели администратора на MQL5 (Часть III): Улучшение графического интерфейса пользователя (GUI) с помощью визуального оформления (I)

Создание торговой панели администратора на MQL5 (Часть III): Улучшение графического интерфейса пользователя (GUI) с помощью визуального оформления (I)

В настоящей статье мы сосредоточимся на визуальном оформлении графического интерфейса пользователя (GUI) нашей торговой панели администратора с использованием MQL5. Мы рассмотрим различные методы и функции, доступные в MQL5, которые позволяют настраивать и оптимизировать интерфейс, обеспечивая его соответствие потребностям трейдеров при сохранении привлекательной эстетики.
preview
От новичка до эксперта: Разработка стратегии торговли по зонам ликвидности

От новичка до эксперта: Разработка стратегии торговли по зонам ликвидности

Торговля в зонах ликвидности обычно ведется путем ожидания возврата цены и повторного тестирования интересующей зоны, часто путем размещения отложенных ордеров в этих областях. В этой статье мы используем MQL5, чтобы воплотить эту концепцию в жизнь, демонстрируя, как такие зоны могут быть определены программно и как можно систематически применять управление рисками. Присоединяйтесь к обсуждению, поскольку мы исследуем как логику торговли на основе ликвидности, так и ее практическую реализацию.
preview
WebSocket для MetaTrader 5 — Асинхронные клиентские соединения с помощью Windows API

WebSocket для MetaTrader 5 — Асинхронные клиентские соединения с помощью Windows API

В данной статье подробно описывается разработка пользовательской динамически подключаемой библиотеки, предназначенной для упрощения асинхронных клиентских соединений по протоколу WebSocket для программ MetaTrader.
preview
Автоматизация запуска терминала для выполнения сервисных задач

Автоматизация запуска терминала для выполнения сервисных задач

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

Причинно-следственный анализ временных рядов с помощью энтропии переноса

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

Преодоление ограничений машинного обучения (Часть 1): Нехватка совместимых метрик

В настоящей статье показано, что часть проблем, с которыми мы сталкиваемся, коренится в слепом следовании «лучшим практикам». Предоставляя читателю простые, основанные на реальном рынке доказательства, мы объясним ему, почему мы должны воздержаться от такого поведения и вместо этого принять передовой опыт, основанный на конкретных областях, если наше сообщество хочет получить хоть какой-то шанс на восстановление скрытого потенциала ИИ.
Материалы Automated Trading Championship: Интервью с Участниками 2007 года
Материалы Automated Trading Championship: Интервью с Участниками 2007 года

Материалы Automated Trading Championship: Интервью с Участниками 2007 года

В публикуемых интервью Чемпионата 2007 года уже чувствуется влияние результатов предыдущего соревнования. Первый Чемпионат получил широкий резонанс не только на страницах интернета, но и в оффлайновых печатных изданиях. Ведущий разработчик компании MetaQuotes Software Corp. рассказывает о нововведениях предстоящего Чемпионата Automated Trading Championship 2007. Мы обратились с вопросами к разработчику известного индикаторного комплекса ZUP Евгению Неумоину (nen), пообщались с трейдером фонда Александром Позднышевым (AlexSilver).
preview
Преодоление ограничений машинного обучения (Часть 1): Нехватка совместимых метрик

Преодоление ограничений машинного обучения (Часть 1): Нехватка совместимых метрик

В настоящей статье показано, что часть проблем, с которыми мы сталкиваемся, коренится в слепом следовании «лучшим практикам». Предоставляя читателю простые, основанные на реальном рынке доказательства, мы объясним ему, почему мы должны воздержаться от такого поведения и вместо этого принять передовой опыт, основанный на конкретных областях, если наше сообщество хочет получить хоть какой-то шанс на восстановление скрытого потенциала ИИ.
preview
Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)

Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)

Мой авторский алгоритм. В этой статье представлен Алгоритм Эволюционного Путешествия во Времени (TETA), вдохновлённый концепцией параллельных вселенных и потоков времени. Основная идея алгоритма заключается в том, что, хотя путешествие во времени в привычном понимании невозможно, мы можем выбирать последовательность событий, которые приводят к различным реальностям.
preview
Торгуем опционы без опционов (Часть 4): Более сложные опционные стратегии

Торгуем опционы без опционов (Часть 4): Более сложные опционные стратегии

В этой статье мы рассмотрим, как можно снизить риски (и возможно ли это сделать) для опционных стратегий, где изначально риск не ограничен. Это относится к стратегиям, основанным на продаже опционов, то есть к флэтовым. Также рассмотрим варианты фиксации прибыли для опционных стратегий, основанных на покупке опционов, то есть трендовых. Как всегда, добавим в наш эксперт новые полезные функции и улучшим старые.
preview
От начального до среднего уровня: Оператор FOR

От начального до среднего уровня: Оператор FOR

В этой статье мы рассмотрим самые основные понятия оператора FOR. Всё, что будет здесь показано, нужно хорошо понять и усвоить. В отличие от других операторов, о которых мы говорили ранее, оператор FOR имеет некоторые особенности, которые быстро делают его очень сложным. Так что не позволяйте подобным материалам накапливаться. Приступайте к изучению и практике как можно скорее.
preview
Пример CNA (сетевого анализа причинно-следственных связей), SMOC (оптимального управления стохастической моделью) и теории игр Нэша с Глубоким обучением

Пример CNA (сетевого анализа причинно-следственных связей), SMOC (оптимального управления стохастической моделью) и теории игр Нэша с Глубоким обучением

Мы добавим Глубокое обучение к тем трем примерам, которые были опубликованы в предыдущих статьях, и сравним результаты с предыдущими. Цель состоит в том, чтобы научиться каким образом добавлять Глубокое обучение (DL) в другие советники.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (I)

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (I)

Доступность новостей является критическим фактором при торговле в терминале MetaTrader 5. Несмотря на наличие множества новостных API, многие трейдеры сталкиваются с трудностями доступа к ним и их эффективной интеграции в свою торговую среду. В ходе настоящего обсуждения нашей целью является разработать оптимизированное решение, которое выводило бы новости непосредственно на график — там, где они больше всего нужны. Мы добьемся этого, создав советника «Заголовки новостей», который отслеживает и отображает обновления новостей в режиме реального времени из источников API.
preview
Таблицы в парадигме MVC на MQL5: настраиваемые и сортируемые столбцы таблицы

Таблицы в парадигме MVC на MQL5: настраиваемые и сортируемые столбцы таблицы

В статье сделаем изменяемую ширину столбцов таблицы при помощи курсора мышки, сортировку таблицы по данным столбцов, и добавим новый класс для упрощенного создания таблиц на основании любых наборов данных.
Материалы Automated Trading Championship: Интервью с Участниками 2006 года
Материалы Automated Trading Championship: Интервью с Участниками 2006 года

Материалы Automated Trading Championship: Интервью с Участниками 2006 года

Интервью с Участниками Automated Trading Championship 2006 показали разнообразие взглядов на автотрейдинг и торговлю в целом. Вы можете сами оценить, какие идеи оказались более работоспособными в ходе Чемипоната, а какие из них не смогли пройти критическую проверку трехмесячным тест-драйвом на конкурсном счете.
preview
От начального до среднего уровня: Шаблон и Typename (IV)

От начального до среднего уровня: Шаблон и Typename (IV)

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