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

icon

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

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

Новая статья
последние | лучшие
preview
Трейдинг с экономическим календарем MQL5 (Часть 4): Обновление новостей в панели управления в реальном времени

Трейдинг с экономическим календарем MQL5 (Часть 4): Обновление новостей в панели управления в реальном времени

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

Разработка системы репликации (Часть 66): Нажатие кнопки воспроизведения в сервисе (VII)

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

Нейросети в трейдинге: Спайковая архитектура пространственно-временного анализа рынка (SDformerFlow)

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

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

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

Моделирование рынка (Часть 11): Сокеты (V)

Мы приступаем к реализации связи между Excel и MetaTrader 5, но сначала необходимо понять некоторые важные моменты, так вам не придется ломать голову, пытаясь понять, почему что-то работает или нет. И прежде, чем вы нахмуритесь, глядя на интеграцию Python и Excel, давайте посмотрим, как с помощью xlwings можно (в некоторой степени) управлять MetaTrader 5 через Excel. То, что мы покажем здесь, будет в основном сконцентрировано на образовательных задачах. Но не думайте, что мы можем делать только то, что будет рассмотрено здесь.
preview
От начального до среднего уровня: Struct (V)

От начального до среднего уровня: Struct (V)

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 54): Обучение с подкреплением с гибридным SAC и тензорами

Soft Actor Critic (мягкий актер-критик) — это алгоритм обучения с подкреплением, который мы рассматривали в предыдущей статье, где мы также представили Python и ONNX как эффективные подходы к обучению сетей. В этой статье мы вернемся к алгоритму с целью использования тензоров — вычислительных графов, которые часто используются в Python.
preview
Автоматизация торговых стратегий на MQL5 (Часть 8): Создание советника с помощью гармонических паттернов Butterfly

Автоматизация торговых стратегий на MQL5 (Часть 8): Создание советника с помощью гармонических паттернов Butterfly

В настоящей статье мы создаём советника на MQL5 для определения гармонических паттернов Butterfly. Мы определяем точки разворота и проверяем уровни Фибоначчи для подтверждения паттерна. Затем визуализируем паттерн на графике и автоматически совершаем сделки при подтверждении.
preview
Введение в MQL5 (Часть 12): Руководство для начинающих по созданию пользовательских индикаторов

Введение в MQL5 (Часть 12): Руководство для начинающих по созданию пользовательских индикаторов

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

Новый подход к пользовательским критериям при оптимизациях (Часть 1): Примеры функций активации

Это первая из серии статей, посвященных математическим аспектам создания пользовательских критериев с особым акцентом на нелинейных функциях, применяемых в нейросетях, MQL5-коде для реализации, а также на использования целевых и корректирующих смещений.
preview
Автоматизация торговых стратегий на MQL5 (Часть 16): Пробой полуночного диапазона посредством ценового действия Прорыв структуры (BoS)

Автоматизация торговых стратегий на MQL5 (Часть 16): Пробой полуночного диапазона посредством ценового действия Прорыв структуры (BoS)

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

Разложение по динамическим модам в применении к одномерным временным рядам в языке MQL5

Разложение по динамическим модам (Dynamic mode decomposition, DMD) — метод, который обычно применяют к наборам многомерных данных. В этой статье мы демонстрируем применение DMD на одномерных временных рядах, выявляя его способность характеризовать ряды, а также делать прогнозы. При этом рассмотрим встроенную в MQL5 реализацию разложения по динамическим модам, уделяя особое внимание новому матричному методу DynamicModeDecomposition().
preview
Поэтапный отбор признаков на MQL5

Поэтапный отбор признаков на MQL5

В этой статье мы представляем модифицированную версию поэтапного отбора признаков, реализованную в MQL5. Настоящий подход основан на методах, описанных Тимоти Мастерсом (Timothy Masters) в работе "Современных алгоритмах интеллектуального анализа данных на C++" и "CUDA C".
preview
Разработка системы репликации (Часть 65): Нажатие кнопки воспроизведения в сервисе (VI)

Разработка системы репликации (Часть 65): Нажатие кнопки воспроизведения в сервисе (VI)

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

Моделирование рынка (Часть 07): Сокеты (I)

Сокеты. Знаете ли вы, для чего они нужны или как их использовать в MetaTrader 5? Если ответ отрицательный, давайте начнем с их изучения. В сегодняшней статье рассмотрим основы. Но поскольку существует несколько способов сделать то же самое, а нас всегда интересует результат, я хочу показать, что в самом деле существует простой способ передачи данных из MetaTrader 5 в другие программы, такие как, например, Excel. Однако основная идея заключается не в том, чтобы перенести данные из MetaTrader 5 в Excel, а в обратном, то есть в переносе данных из Excel или любой другой программы в MetaTrader 5.
preview
Автоматизация запуска терминала для выполнения сервисных задач

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

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

От новичка до эксперта: Мониторинг бэкэнд операций с использованием MQL5

Использование готового решения в торговле, не вникая во внутреннюю работу системы, может показаться комфортным, но это не всегда так для разработчиков. В конечном итоге может возникнуть проблема с обновлением, некорректной работой или непредвиденной ошибкой, и становится важным точно определить источник проблемы, чтобы быстро ее диагностировать и устранить. Сегодняшнее обсуждение посвящено раскрытию того, что обычно происходит за кулисами работы торгового советника, а также разработке специального пользовательского класса для отображения и ведения лога внутренних процессов с использованием MQL5. Это дает как разработчикам, так и трейдерам возможность быстро находить ошибки, отслеживать поведение и получать доступ к диагностической информации, специфичной для каждого советника.
preview
Разработка системы репликации (Часть 78): Новый Chart Trade (V)

Разработка системы репликации (Часть 78): Новый Chart Trade (V)

В данной статье мы рассмотрим, как нужно реализовывать часть кода получателя. Здесь мы реализуем версию советника, чтобы протестировать и узнать, как работает взаимодействие по протоколу. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
preview
Нейросети в трейдинге: Агрегация движения по времени (Основные компоненты)

Нейросети в трейдинге: Агрегация движения по времени (Основные компоненты)

В этой статье теория встречается с практикой. Мы реализуем ключевые модули фреймворка TMA — MPE и MPA. Здесь данные обретают смысл, а кросс-внимание превращается в инструмент точного анализа рыночной динамики. Минимум избыточных операций, максимум эффективности — шаг к интеллектуальному трейдингу нового поколения.
preview
От начального до среднего уровня: События (I)

От начального до среднего уровня: События (I)

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

Разработка системы репликации (Часть 62): Нажатие кнопки воспроизведения в сервисе (III)

В данной статье мы начнем решать проблему переизбытка тиков, которые могут влиять на работу приложения при использовании реальных данных. Данный переизбыток часто мешает правильному отсчету времени, необходимому для построения минутного бара в соответствующем окне.
preview
Знакомство с языком MQL5 (Часть 13): Руководство для начинающих по созданию пользовательских индикаторов (II)

Знакомство с языком MQL5 (Часть 13): Руководство для начинающих по созданию пользовательских индикаторов (II)

Эта статья проведет вас через создание пользовательского индикатора Heikin Ashi с нуля и продемонстрирует, как интегрировать пользовательские индикаторы в советник. В статье рассматриваются расчеты индикаторов, логика исполнения сделок и методы управления рисками для улучшения автоматизированных торговых стратегий.
preview
От начального до среднего уровня: События (II)

От начального до среднего уровня: События (II)

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

Анализ настроений в Twitter с помощью сокетов

Этот инновационный торговый бот интегрирует платформу MetaTrader 5 с языком Python в целях использования анализа настроений в социальных сетях в режиме реального времени для автоматизированного принятия торговых решений. Путем анализа настроений в Twitter, связанных с конкретными финансовыми инструментами, бот преобразует тенденции социальных сетей в действенные торговые сигналы. Он использует архитектуру «клиент-сервер» с сокетной связью, обеспечивая бесперебойное взаимодействие между торговыми возможностями MetaTrader 5 и вычислительной мощностью Python.
preview
Торговый инструментарий MQL5 (Часть 7): Расширение EX5-библиотеки для управления историей функциями последнего отмененного отложенного ордера

Торговый инструментарий MQL5 (Часть 7): Расширение EX5-библиотеки для управления историей функциями последнего отмененного отложенного ордера

Мы завершаем создание последнего модуля в EX5-библиотеке для управления историей (History Manager), сосредоточившись на функциях, отвечающих за обработку последнего отмененного отложенного ордера. Это позволит эффективно извлекать и хранить ключевые данные, связанные с отмененными отложенными ордерами с помощью MQL5.
preview
Взаимная информация как критерий для поэтапного отбора признаков

Взаимная информация как критерий для поэтапного отбора признаков

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

Машинное обучение и Data Science (Часть 33): Pandas Dataframe в MQL5, упрощаем сбор данных для машинного обучения

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

Торговый инструментарий MQL5 (Часть 5): Расширение EX5-библиотеки для управления историей функциями последнего исполненного отложенного ордера

Узнайте, как создать EX5-модуль экспортируемых функций, который легко запрашивает и сохраняет данные последнего исполненного отложенного ордера. В этом пошаговом руководстве мы улучшим EX5-библиотеку для управления историей (History Management), разработав специализированные и обособленные функции для извлечения основных свойств последнего исполненного отложенного ордера. К этим свойствам относятся тип ордера, время установки, время исполнения, тип исполнения и другие важные данные, необходимые для эффективного управления и анализа истории торговли отложенными ордерами.
preview
Разработка системы репликации (Часть 77): Новый Chart Trade (IV)

Разработка системы репликации (Часть 77): Новый Chart Trade (IV)

В этой статье мы расскажем о некоторых деталях и мерах предосторожности, которые следует учитывать при создании протокола связи. Это довольно простые и понятные вещи, так что мы не будем слишком углубляться в эту статью. Но чтобы понять, что произойдет у получателя, нужно разобраться в содержании статьи.
preview
Наблюдатель Connexus (Часть 8): Добавление Request Observer (Наблюдатель запросов)

Наблюдатель Connexus (Часть 8): Добавление Request Observer (Наблюдатель запросов)

В этой заключительной части нашей серии библиотеки Connexus мы рассмотрели реализацию паттерна Наблюдатель, а также основные рефакторинги в путях к файлам и именах методов. В этой серии представлена вся разработка Connexus, предназначенная для упрощения HTTP-взаимодействия в сложных приложениях.
preview
Алгоритм искусственной коронарной циркуляции — Artificial Coronary Circulation System (ACCS)

Алгоритм искусственной коронарной циркуляции — Artificial Coronary Circulation System (ACCS)

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

Моделирование рынка (Часть 14): Сокеты (VIII)

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

Анализ нескольких символов с помощью Python и MQL5 (Часть II): Анализ главных компонентов для оптимизации портфеля

Управление рисками торгового счета является сложной задачей для всех трейдеров. Можем ли мы разработать торговые приложения, которые динамически изучают режимы высокого, среднего и низкого риска для различных символов в MetaTrader 5? Используя PCA, мы получаем лучший контроль над дисперсией портфеля. Я продемонстрирую, как создавать приложения, которые изучают эти три режима риска на основе рыночных данных, полученных из MetaTrader 5.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 55): SAC с приоритетным воспроизведением опыта

Возможности Мастера MQL5, которые вам нужно знать (Часть 55): SAC с приоритетным воспроизведением опыта

Буферы воспроизведения в обучении с подкреплением особенно важны при использовании алгоритмов вне политики (off-policy), таких как DQN или SAC. Это выводит на первый план процесс выборки буфера памяти. В то время как параметры по умолчанию с SAC, например, используют случайный выбор из буфера, буферы с приоритетным воспроизведением опыта (Prioritized Experience Replay buffers) обеспечивают точную настройку путем выборки из буфера на основе оценки TD. Мы рассмотрим важность обучения с подкреплением и, как всегда, изучим только одну гипотезу (без перекрестной проверки) в созданном Мастером советнике.
preview
Заголовок в Connexus (Часть 3): Освоение использования HTTP-заголовков для запросов

Заголовок в Connexus (Часть 3): Освоение использования HTTP-заголовков для запросов

Продолжаем разработку библиотеки Connexus. В этой главе мы исследуем концепцию заголовков в протоколе HTTP, объясняя, что это такое, для чего они предназначены и как их использовать в запросах. Мы рассмотрим основные заголовки, используемые при взаимодействии с API, а также покажем практические примеры того, как настроить их в библиотеке.
preview
Нейросети в трейдинге: Обучение глубоких спайкинговых моделей (Интеграция спайков)

Нейросети в трейдинге: Обучение глубоких спайкинговых моделей (Интеграция спайков)

В статье представлена практическая реализация ключевых компонентов фреймворка SEW-ResNet средствами MQL5. Использование динамических массивов и спайковых механизмов позволяет гибко строить архитектуру модели и эффективно обрабатывать финансовые временные ряды. Предложенные решения показывают, как SEW-ResNet может оптимизировать вычисления и улучшить выделение значимых признаков.
preview
Автоматизация торговых стратегий на MQL5 (Часть 5): Разработка стратегии Adaptive Crossover RSI Trading Suite

Автоматизация торговых стратегий на MQL5 (Часть 5): Разработка стратегии Adaptive Crossover RSI Trading Suite

В этой статье мы разработаем систему Adaptive Crossover RSI Trading Suite, которая использует пересечения скользящих средних с периодами 14 и 50 в качестве сигналов, подтверждаемых фильтром RSI с периодом 14. Система включает в себя фильтр торговых дней, стрелки сигналов с пояснениями и дашборд для мониторинга в реальном времени. Такой подход обеспечивает точность и адаптивность автоматической торговли.
preview
Отправка запросов в Connexus (Часть 6): Создание HTTP-запроса и ответа

Отправка запросов в Connexus (Часть 6): Создание HTTP-запроса и ответа

В этой шестой статье из серии о библиотеке Connexus мы сосредоточимся на полном HTTP-запросе, рассмотрев каждый компонент, из которого состоит запрос. Мы создадим класс, представляющий запрос в целом, который поможет нам объединить ранее созданные классы.
preview
Трейдинг с экономическим календарем MQL5 (Часть 6): Автоматизация входа в сделку с анализом новостей и таймерами обратного отсчета

Трейдинг с экономическим календарем MQL5 (Часть 6): Автоматизация входа в сделку с анализом новостей и таймерами обратного отсчета

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

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

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