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

icon

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

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

Новая статья
последние | лучшие
preview
Экстремальная оптимизация — Extremal Optimization (EO)

Экстремальная оптимизация — Extremal Optimization (EO)

В данной статье рассматривается алгоритм Extremal Optimization (EO) — метод оптимизации, вдохновленный моделью самоорганизованной критичности Бака-Снеппена, где эволюция происходит через устранение наихудших компонентов системы. Модифицированная популяционная версия алгоритма демонстрирует отход от теоретических принципов в пользу практической эффективности, что приводит к созданию мощных вычислительных инструментов.
preview
Разработка системы репликации (Часть 36): Внесение корректировок (II)

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

Одна из вещей, которая может усложнить нашу жизнь как программистов, - это предположения. В этой статье я покажу вам, как опасно делать предположения: как в части программирования на MQL5, где принимается, что у курса будет определенная величина, так и при использовании MetaTrader 5, где принимается, что разные серверы работают одинаково.
preview
Ассоциативные правила и теория вероятностей на Форекс: Фильтр сигналов без нейросетей и без магии

Ассоциативные правила и теория вероятностей на Форекс: Фильтр сигналов без нейросетей и без магии

Рассматриваем альтернативу нейросетевым фильтрам сигналов: ассоциативные правила и базовую теорию вероятностей в MQL5, без Python и внешних библиотек. Показано, как дискретизировать рыночные условия (RSI, EMA, ATR, импульс, сессия), собрать статистику по support, confidence, lift и edge с сглаживанием Лапласа и применять результат как прозрачный входной фильтр перед сделкой.
preview
Майнинг данных CFTC на Python и ИИ модель на их основе

Майнинг данных CFTC на Python и ИИ модель на их основе

Попробуем смайнить даные CFTC, загрузить отчеты COT и TFF через Python, соединить это с котировками MetaTrader 5 и моделью ИИ и получить прогнозы. Что такое отчеты COT на рынке Форекс? Как использовать отчеты COT и TFF для прогнозирования?
preview
Упрощаем торговлю на новостях (Часть 5): Совершаем сделки (II)

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

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

Обучение нелинейного U-Transformer на остатках линейной авторегрессионной модели

Статья представляет инновационную гибридную систему для прогнозирования валютных курсов, которая сочетает линейную авторегрессионную модель с архитектурой U-Transformer для анализа остатков. Система автоматически переключается между источниками сигналов в зависимости от их качества и включает полноценную торговую логику с averaging/pyramiding стратегиями. Ключевое преимущество подхода заключается в том, что нейросеть обучается на остатках линейной модели, что упрощает задачу и снижает риск переобучения. Реализация выполнена полностью на MQL5 и готова к использованию в реальной торговле с автоматической адаптацией к изменяющимся рыночным условиям.
preview
Выборочные методы MCMC — Алгоритм Метрополиса-Гастингса

Выборочные методы MCMC — Алгоритм Метрополиса-Гастингса

Алгоритм Метрополиса-Гастингса — фундаментальный метод Монте-Карло по схеме марковских цепей (MCMC), широко применяемый для аппроксимации апостериорных распределений в байесовском выводе. Статья описывает теоретические основы алгоритма, реализацию класса MHSampler на MQL5 и примеры применения с анализом полученных выборок.
preview
Нейросимвольные системы в алготрейдинге: Объединение символьных правил и нейронных сетей

Нейросимвольные системы в алготрейдинге: Объединение символьных правил и нейронных сетей

Статья рассказывает об опыте разработки гибридной торговой системы, объединяющей классический технический анализ с нейронными сетями. Автор подробно разбирает архитектуру системы — от базового анализа паттернов и структуры нейросети до механизмов принятия торговых решений, делясь реальным кодом и практическими наблюдениями.
preview
Машинное обучение и Data Science (Часть 37): Использование моделей свечных графиков и ИИ в трейдинге

Машинное обучение и Data Science (Часть 37): Использование моделей свечных графиков и ИИ в трейдинге

Свечные модели помогают трейдерам понимать психологию рынка и выявлять тренды на финансовых рынках. Они позволяют принимать более обоснованные торговые решения, которые могут привести к лучшим результатам. В этой статье мы рассмотрим, как использовать свечные паттерны в сочетании с моделями искусственного интеллекта для достижения оптимальных результатов в трейдинге.
preview
Реализация механизма безубыточности в MQL5 (Часть 2): Безубыток на основе ATR и RRR

Реализация механизма безубыточности в MQL5 (Часть 2): Безубыток на основе ATR и RRR

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

Нейросети в трейдинге: Модель темпоральных запросов (Окончание)

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

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

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

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

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

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

Откройте для себя инновационный фреймворк Chimera — двухмерную модель пространства состояний, использующую нейросети для анализа многомерных временных рядов. Этот метод предлагает высокую точность с низкими вычислительными затратами, превосходя традиционные подходы и архитектуры Transformer.
preview
Знакомство с языком MQL5 (Часть 15): Руководство для начинающих по созданию пользовательских индикаторов (IV)

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

В этой статье вы узнаете, как создать индикатор ценового действия на языке MQL5, сосредоточив внимание на ключевых точках, таких как минимум (L), максимум (H), более высокий минимум (HL), более высокий максимум (HH), более низкий минимум (LL) и более низкий максимум (LH) для анализа трендов. Вы также изучите, как выявлять зоны премии и дисконта, отмечать уровень коррекции 50% и использовать соотношение риска и вознаграждения для расчета целевых уровней прибыли. В статье также рассмотрено определение точек входа, уровней стоп-лосса (SL) и тейк-профита (TP) на основе структуры тренда.
preview
Нейронная сеть на практике: Псевдообратная (I)

Нейронная сеть на практике: Псевдообратная (I)

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

Создаем интерактивную MQL5-панель с использованием класса Controls (Часть 2): Добавление отзывчивости кнопок

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

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

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

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

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

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

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

Знакомство с кривыми рабочих характеристик приемника (ROC-кривыми)

ROC-кривые — графические представления, используемые для оценки эффективности классификаторов. Хотя графики ROC относительно просты, на практике при их использовании существуют распространенные заблуждения и подводные камни. Цель данной статьи — познакомить читателя с графиками ROC как инструментом для практикующих специалистов, стремящихся разобраться в оценке эффективности классификаторов.
preview
Оптимизация и тонкая настройка исходного кода для улучшения результатов тестирования на истории

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

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

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

В статье подробно раскрывается SCNN-архитектура и один из вариантов её реализация средствами MQL5. Мы покажем, как декомпозиция временных рядов сочетается с нейросетевыми методами и вниманием.
preview
Пример сетевого анализа причинно-следственных связей (CNA) и модели векторной авторегресси для прогнозирования рыночных событий

Пример сетевого анализа причинно-следственных связей (CNA) и модели векторной авторегресси для прогнозирования рыночных событий

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

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

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

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

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

Сеточный советник на клеточном автомате с онлайн-обучением в MQL5 (Часть I): Непрерывная адаптация торговой модели на каждом баре

В статье разобрана архитектура советника на клеточном автомате с 10 000 адаптирующихся параметров и независимым бинарным предиктором на горизонте 10 баров. Показано трёхуровневое онлайн-обучение, эволюция стратегий и валидация через кольцевой буфер и матрицу ошибок. Параметры входа сведены к Magic Number, торговые настройки вычисляются из ATR и пяти геномов. Тест EURUSD H1 дал ориентировочный Hit Rate около 58% против ~51% у фиксированной MLP.
preview
Разработка системы репликации (Часть 29): Проект советника — класс C_Mouse (III)

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

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

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

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

Нейросети в трейдинге: Иерархический двухбашенный трансформер (Hidformer)

Предлагаем познакомиться с фреймворком иерархического двухбашенного трансформера (Hidformer), который был разработан для прогнозирования временных рядов и анализа данных. Авторы фреймворка предложили несколько улучшений к архитектуре Transformer, что позволило повысить точность прогнозов и снизить потребление вычислительных ресурсов.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 57): Обучение с учителем совместно со скользящей средней и стохастическим осциллятором

Возможности Мастера MQL5, которые вам нужно знать (Часть 57): Обучение с учителем совместно со скользящей средней и стохастическим осциллятором

Скользящая средняя и стохастический осциллятор — очень распространенные индикаторы, которые считаются запаздывающими. В минисерии из трех статей, посвященной трем основным формам машинного обучения, мы попытаемся выяснить, оправдана ли эта предвзятость по отношению к этим индикаторам, или же они могут иметь предсказательную силу. Мы проводим анализ с помощью советников, созданных в Мастере.
preview
Оптимизатор на основе экологического цикла — Ecological Cycle Optimizer (ECO)

Оптимизатор на основе экологического цикла — Ecological Cycle Optimizer (ECO)

Алгоритм ECO (Ecological Cycle Optimizer) представляет собой интересную метафору переноса экологического круговорота в область метаэвристической оптимизации. Идея разделения популяции на трофические уровни — продуцентов, травоядных, плотоядных, всеядных и редуцентов — создаёт иерархическую структуру поиска, где каждая группа вносит свой вклад в общий процесс оптимизации.
preview
Нейросети в трейдинге: Адаптивное обнаружение рыночных аномалий (Окончание)

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

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

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

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

MetaTrader 5 и экономический календарь MQL5: как превратить новости в воспроизводимую торговую систему

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

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

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

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

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

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

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

Интеграция AI-модели в существующую торговую стратегию на MQL5

Данная статья посвящена интеграции обученной модели искусственного интеллекта (например, модели обучения с подкреплением LSTM или прогностической модели на основе машинного обучения) в существующую торговую стратегию на MQL5.
preview
Создание пользовательской системы определения рыночного режима на языке MQL5 (Часть 2): Советник

Создание пользовательской системы определения рыночного режима на языке MQL5 (Часть 2): Советник

В этой статье подробно описано создание адаптивного экспертного советника (MarketRegimeEA) с помощью детектора режимов из Части 1. Он автоматически переключает торговые стратегии и параметры рисков для трендового, флэтового или волатильного рынков. Сюда включены практическая оптимизация, обработка переходов и индикатор для нескольких таймфреймов.