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

icon

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

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

Новая статья
последние | лучшие
preview
Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (S3CE-Net)

Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (S3CE-Net)

Приглашаем к знакомству с фреймворком S3CE-Net и его механизмами SSAM и STFS, которые точно обрабатывают спайковые события с учётом каузальности. Модель лёгкая, параллельная и умеет выявлять сложные связи во времени и пространстве.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IX) — Управление несколькими символами на одном графике для торговли на новостях

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IX) — Управление несколькими символами на одном графике для торговли на новостях

Торговля на новостях часто требует управления несколькими позициями и символами в течение очень короткого времени из-за повышенной волатильности. В сегодняшнем обсуждении мы рассмотрим проблемы торговли несколькими символами, интегрировав эту функцию в наш советник «Заголовки новостей». Присоединяйтесь к нам, и мы узнаем, как алгоритмическая торговля с помощью MQL5 делает торговлю несколькими символами более эффективной и действенной.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 3): Улучшенная визуализация данных

Интеграция MQL5 с пакетами обработки данных (Часть 3): Улучшенная визуализация данных

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

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

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

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

В этой статье мы рассмотрим, как реализовать расчет скользящей средней и какие меры предосторожности следует предпринять при выполнении данного расчета. Мы также поговорим о перегрузке функции OnCalculate, чтобы знать, когда и как работать с той или иной моделью.
preview
Управление рисками (Часть 5): Интегрируем систему управления рисками в советник

Управление рисками (Часть 5): Интегрируем систему управления рисками в советник

В этой статье мы реализуем систему управления рисками, разработанную в предыдущих публикациях, и добавим индикатор Order Blocks, представленный в других статьях. Кроме того, будет проведено тестирование на исторических данных (backtest), чтобы можно было сравнить результаты с применением системы управления рисками и оценить влияние динамического риска.
preview
Алгоритм эхолокации дельфинов — Dolphin Echolocation Algorithm (DEA)

Алгоритм эхолокации дельфинов — Dolphin Echolocation Algorithm (DEA)

В этой статье мы подробно рассмотрим алгоритм DEA — метаэвристический метод оптимизации, вдохновленный уникальной способностью дельфинов находить добычу с помощью эхолокации. От математических основ до практической реализации на MQL5, от анализа до сравнения с классическими алгоритмами — детально разберем, почему этот относительно молодой метод заслуживает места в арсенале тех, кто сталкивается с задачами оптимизации.
preview
Инженерия признаков с Python и MQL5 (Часть III): Угол наклона цены (2) Полярные координаты

Инженерия признаков с Python и MQL5 (Часть III): Угол наклона цены (2) Полярные координаты

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

Разрабатываем менеджер терминалов (Часть 2): Запуск нескольких экземпляров

Переходим к использованию сразу нескольких экземпляров терминала на сервере, организовав простую панель управления запуском и остановкой. Теперь пришло время расширять функциональность и переходить к следующим этапам — реализации более сложных возможностей, таких как управление несколькими экземплярами, хранение состояния, интеграция с MetaTrader5 API и веб-интерфейс с полной информацией о терминалах.
preview
Нейросети в трейдинге: Пространственно-временная модель состояния для анализа финансовых данных (E-STMFlow)

Нейросети в трейдинге: Пространственно-временная модель состояния для анализа финансовых данных (E-STMFlow)

Предлагаем познакомиться с фреймворком E-STMFlow, который эффективно обрабатывает потоки событий, извлекая информативные эмбеддинги, фильтруя шум и выявляя ключевые движения. Его архитектура позволяет выявлять сложные взаимосвязи между признаками и обеспечивает масштабируемость, точность и высокую вычислительную эффективность для интеллектуального анализа и прогнозирования.
preview
Машинное обучение и Data Science (Часть 44): Прогнозирование OHLC-рядов Forex методом векторной авторегрессии (VAR)

Машинное обучение и Data Science (Часть 44): Прогнозирование OHLC-рядов Forex методом векторной авторегрессии (VAR)

В этом материале мы познакомимся с тем, как модели векторной авторегрессии (VAR) могут прогнозировать временные ряды значений OHLC (цены открытия, максимум, минимум и цена закрытия) на форексе Поговорим о том, как реализовать VAR-модели, обучать их и строить прогнозы в MetaTrader 5 в реальном времени, чтобы анализировать взаимозависимые движения валютных курсов для получения лучших результатов в трейдинге.
Материалы Automated Trading Championship: Интервью с Участниками 2006 года
Материалы Automated Trading Championship: Интервью с Участниками 2006 года

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

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

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

В статье представлена адаптация фреймворка SDformerFlow, обеспечивающая высокую адаптивность за счёт интеграции спайкового внимания с многооконной свёрткой и взвешенным суммированием элементов Query. Архитектура позволяет каждой голове внимания обучать собственные параметры, что повышает точность и чувствительность модели к структуре анализируемых данных.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IX) — Управление несколькими символами на одном графике для торговли на новостях

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IX) — Управление несколькими символами на одном графике для торговли на новостях

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

Нейросети в трейдинге: Единый взгляд на пространство и время (Extralonger)

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

Нейросети в трейдинге: Возмущённые модели пространства состояний для анализа рыночной динамики (Основные компоненты)

В данной статье представлен практический подход к адаптации современного фреймворка для анализа финансовых потоков средствами MQL5. Рассмотрены ключевые компоненты модели — Depth-Wise свёртки с остаточными связями, конусные Super Kernel Block и модуль глобальной агрегации движения (GMA).
preview
Разработка системы репликации (Часть 26): Проект советника — Класс C_Terminal

Разработка системы репликации (Часть 26): Проект советника — Класс C_Terminal

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

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

В этой статье мы на практике поймем разницу между передачей по значению или передачей по ссылке. Хотя это кажется чем-то простым и обычным и не вызывающим проблем, многие опытные программисты часто сталкиваются с настоящими неудачами в работе над кодом именно из-за этой маленькой детали. Знание того, когда, как и зачем использовать передачу по значению или по ссылке, существенно изменит нашу жизнь как программистов. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не стоит рассматривать его как окончательное приложение, или использовать приложение с иной целью, кроме изучения представленных здесь концепций
preview
Алгоритм конкурентного обучения — Competitive Learning Algorithm (CLA)

Алгоритм конкурентного обучения — Competitive Learning Algorithm (CLA)

В статье представлен алгоритм конкурентного обучения (Competitive Learning Algorithm, CLA) — новый метаэвристический метод оптимизации, основанный на моделировании образовательного процесса. Алгоритм организует популяцию решений в виде классов со студентами и учителями, где агенты обучаются через три механизма: следование за лучшим в классе, использование личного опыта и обмен знаниями между классами.
preview
Как реализовать конкуренцию LLM-агентов в MetaTrader 5

Как реализовать конкуренцию LLM-агентов в MetaTrader 5

Статья описывает конкурентную архитектуру для MetaTrader 5, в которой десять LLM-агентов с разными торговыми правилами управляют собственным капиталом и открывают независимые позиции через уникальные magic numbers. Системный промпт и агрессивность агента адаптируются по результатам PnL и серии сделок. Представлен воспроизводимый каркас с режимами эксплуатации и контролируемыми метриками, пригодный для тестирования и дальнейшей оптимизации.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 35): Регрессия опорных векторов

Возможности Мастера MQL5, которые вам нужно знать (Часть 35): Регрессия опорных векторов

Регрессия опорных векторов — это идеалистический способ поиска функции или "гиперплоскости" (hyper-plane), который наилучшим образом описывает взаимосвязь между двумя наборами данных. Мы попытаемся использовать его при прогнозировании временных рядов в пользовательских классах Мастера MQL5.
preview
Нейросети в трейдинге: От трансформеров к спайковым нейронам (SpikingBrain)

Нейросети в трейдинге: От трансформеров к спайковым нейронам (SpikingBrain)

Фреймворк SpikingBrain демонстрирует уникальный подход к обработке данных: нейроны реагируют только на значимые события, эффективно фильтруя шум. Его событийная архитектура снижает вычислительные затраты, сохраняя ключевую информацию о движениях. Адаптивные пороги и возможность использования предварительно обученных модулей обеспечивают гибкость и масштабируемость модели.
preview
От начального до среднего уровня: Оператор SWITCH

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

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

Машинное обучение и Data Science (Часть 36): Работа с несбалансированными финансовыми рынками

Финансовые рынки не находятся в идеальном равновесии. Некоторые рынки демонстрируют бычий тренд, другие — медвежий, а третьи — флэт. Эта несбалансированная информация, используемая для обучения моделей машинного обучения, может вводить в заблуждение, поскольку рынки часто меняют направление. В этой статье мы обсудим несколько способов решения этой проблемы.
preview
От начального до среднего уровня: Оператор IF ELSE

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

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

Создание интеллектуального торгового менеджера в MQL5: Автоматизация перевода в безубыток, трейлинг-стопа и частичного закрытия позиции

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 30): Пакетная нормализация в машинном обучении

Пакетная нормализация — это предварительная обработка данных перед их передачей в алгоритм машинного обучения, например, в нейронную сеть. При этом всегда следует учитывать тип активации, который будет использоваться алгоритмом. Мы рассмотрим различные подходы, которые можно использовать для извлечения выгоды с помощью советника, собранного в Мастере.
preview
От начального до среднего уровня: Шаблон и Typename (I)

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

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

От CPU к GPU в MQL5: практическая схема OpenCL для ускорения исследований, оптимизаций и паттернов

Узнайте, как выстроить практическую схему перехода от CPU к GPU в MQL5 с использованием OpenCL. Подробно рассматриваются инициализация контекста, организация буферов, крупные батчи, запуск kernel и минимизация обменов данными. Приведены типовые ошибки и способы их устранения. Пример со свечными паттернами иллюстрирует практическую пользу подхода.
preview
HTTP и Connexus (Часть 2): Понимание архитектуры HTTP и дизайна библиотеки

HTTP и Connexus (Часть 2): Понимание архитектуры HTTP и дизайна библиотеки

В настоящей статье рассматриваются основы протокола HTTP, описываются основные методы (GET, POST, PUT, DELETE), коды состояния, а также структура URL-адресов. Кроме того, в ней представлено начало создания библиотеки Connexus с классами CQueryParam и CURL, облегчающими манипулирование URL-адресами и параметрами запросов в HTTP-запросах.
preview
Оптимизация хаотичной игрой — Chaos Game Optimization (CGO)

Оптимизация хаотичной игрой — Chaos Game Optimization (CGO)

Представляем новый метаэвристический алгоритм Chaos Game Optimization (CGO), демонстрирующий уникальную способность сохранять высокую эффективность при работе с задачами большой размерности. В отличие от большинства оптимизационных алгоритмов, CGO не только не теряет, но иногда даже увеличивает производительность при масштабировании задачи, что является его ключевой особенностью.
preview
Машинное обучение и Data Science (Часть 41): YOLOv8v для поиска паттернов на рынках Forex и акций

Машинное обучение и Data Science (Часть 41): YOLOv8v для поиска паттернов на рынках Forex и акций

Выявление графических закономерностей на финансовых рынках представляет собой сложную задачу, поскольку требует анализа данных на графике, что трудно осуществить в MQL5 из-за ограничений, связанных с обработкой изображений. В этой статье мы рассмотрим достойную модель на Python, которая позволит с минимальными усилиями обнаруживать паттерны на графике.
preview
Разработка инструментария для анализа Price Action (Часть 37): Индикатор смещения настроений

Разработка инструментария для анализа Price Action (Часть 37): Индикатор смещения настроений

Рыночные настроения – одна из самых недооцененных, но при этом мощных сил, влияющих на движение цены. В то время как большинство трейдеров полагаются на запаздывающие индикаторы или догадки, советник Sentiment Tilt Meter (STM) преобразует рыночные данные в наглядный визуальный ориентир и в реальном времени показывает, склоняется ли рынок к бычьему или медвежьему сценарию либо остается нейтральным. Это упрощает подтверждение сделок, помогает избегать ложных входов и эффективнее выбирать момент входа в рынок.
preview
Нейросети в трейдинге: Гибридные модели прогнозирования с управляемой смесью распределений (Основные компоненты)

Нейросети в трейдинге: Гибридные модели прогнозирования с управляемой смесью распределений (Основные компоненты)

В статье представлена практическая реализация модуля адаптивного прогнозирования, объединяющего подходы Lattice и Tail-Aware моделирования для финансовых временных рядов. Читатель увидит, как система адаптивно выбирает архетипы рынка, оценивает релевантность экспертов и формирует взвешенные прогнозные распределения с учётом тяжёлых хвостов и локальных экстремумов.
preview
Оптимизация сообществом ученых — Community of Scientist Optimization (CoSO): Практика

Оптимизация сообществом ученых — Community of Scientist Optimization (CoSO): Практика

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

Как опередить любой рынок (Часть III): Индекс расходов Visa

В мире больших данных существуют миллионы альтернативных наборов данных, которые потенциально могут улучшить наши торговые стратегии. В этой серии статей мы рассматриваем наиболее информативные общедоступные наборы данных.
preview
Нейросети в трейдинге: Рекуррентное моделирование микродвижений рынка (EV-MGRFlowNet)

Нейросети в трейдинге: Рекуррентное моделирование микродвижений рынка (EV-MGRFlowNet)

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

Неопределённость как модель (Часть 6): Множественная регрессия и диагностика

Практическое введение в множественную регрессию с детерминированными факторами для финансовых рядов. Рассматриваются постановка и матричная форма МНК, диагностика остатков, EDA/CDA, R-квадрат и скорректированный R-квадрат, F-тест, RESET, тест Бройша–Пагана, VIF и расстояние Кука. Показаны приёмы работы с регрессорами: фиктивные переменные, нелинейные трансформации и взаимодействия. Примеры с трендом, днями недели и новостями помогают отбирать факторы и строить пригодные для прогноза модели.
preview
От начального до среднего уровня: Массив (I)

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

Данная статья является переходом между тем, что рассматривалось до этого, и новым этапом исследований. Чтобы понять эту статью, необходимо прочитать предыдущие. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Упрощаем торговлю на новостях (Часть 6): Совершаем сделки (III)

Упрощаем торговлю на новостях (Часть 6): Совершаем сделки (III)

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