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

icon

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

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

Новая статья
последние | лучшие
preview
Разрабатываем мультивалютный советник (Часть 28): Добавляем менеджер закрытия позиций

Разрабатываем мультивалютный советник (Часть 28): Добавляем менеджер закрытия позиций

При параллельной работе многих стратегий может возникнуть желание время от времени закрывать все открытые позиции и начинать работу стратегий заново. Уже написанный код позволяет реализовать такое поведение только вместе с ручными манипуляциями. Попробуем автоматизировать эту часть.
preview
Шаблоны проектирования в программировании на MQL5 (Часть 4): Поведенческие шаблоны 2

Шаблоны проектирования в программировании на MQL5 (Часть 4): Поведенческие шаблоны 2

Статья завершает серию о шаблонах проектирования в области программного обеспечения. Я уже упоминал, что существуют три типа шаблонов проектирования - порождающие, структурные и поведенческие. Мы доработаем оставшиеся паттерны поведенческого типа, которые помогут задать способ взаимодействия между объектами таким образом, чтобы сделать наш код чистым.
preview
DoEasy. Элементы управления (Часть 21): Элемент управления SplitContainer. Разделитель панелей

DoEasy. Элементы управления (Часть 21): Элемент управления SplitContainer. Разделитель панелей

В статье создадим класс вспомогательного объекта-разделителя панелей для элемента управления SplitContainer.
preview
Машинное обучение и Data Science (Часть 20): Выбор между LDA и PCA в задачах алготрейдинга на MQL5

Машинное обучение и Data Science (Часть 20): Выбор между LDA и PCA в задачах алготрейдинга на MQL5

В этой статье мы рассмотрим методы уменьшения размерности и их применение в торговой среде MQL5. В частности, мы изучим нюансы линейного дискриминантного анализа (LDA) и анализа главных компонентов (PCA), а также посмотрим на их влияние при разработке стратегий и анализе рынка.
preview
Торговая стратегия обратного разрыва справедливой стоимости

Торговая стратегия обратного разрыва справедливой стоимости

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

Нейросети — это просто (Часть 19): Ассоциативные правила средствами MQL5

Продолжаем тему поиска ассоциативных правил. В предыдущей статье мы рассмотрели теоретические аспекты данного типа задач. В этой статье я продемонстрирую реализацию метода FP-Growth средствами MQL5. А также мы протестируем нашу реализацию на реальных данных.
preview
Мониторинг торговли с помощью Push-уведомлений — пример сервиса в MetaTrader 5

Мониторинг торговли с помощью Push-уведомлений — пример сервиса в MetaTrader 5

В статье рассмотрим создание программы сервиса для отправки уведомлений на смартфон о результатах торговли. В рамках статьи научимся работать со списками объектов Стандартной Библиотеки для организации выборки объектов по требуемым свойствам.
preview
Разрабатываем мультивалютный советник (Часть 15): Готовим советник к реальной торговле

Разрабатываем мультивалютный советник (Часть 15): Готовим советник к реальной торговле

Постепенно приближаясь к получению готового советника, необходимо уделить внимание вопросам, которые являются второстепенными на этапе тестирования торговой стратегии, но становятся важными при переходе к реальной торговле.
preview
Как подключить MetaTrader 5 к PostgreSQL

Как подключить MetaTrader 5 к PostgreSQL

В статье описываются четыре метода подключения кода MQL5 к базе данных Postgres и предоставляется пошаговое руководство по настройке среды разработки для одного из них, REST API, с использованием подсистемы Windows для Linux (WSL). Показано демонстрационное приложение для API с соответствующим кодом MQL5 для вставки данных и запросов к соответствующим таблицам, а также демонстрационный советник для использования этих данных.
preview
Полиномиальные модели в трейдинге

Полиномиальные модели в трейдинге

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

Риск-менеджер для торговых роботов (Часть I): Включаемый файл контроля рисков для советников

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

Нейросети — это просто (Часть 68): Офлайн оптимизация политик на основе предпочтений

С первых статей, посвященных обучению с подкреплением, мы так или иначе затрагиваем 2 проблемы: исследование окружающей среды и определение функции вознаграждения. Последние статьи были посвящены проблеме исследования в офлайн обучении. В данной статье я хочу Вас познакомить с алгоритмом, авторы которого полностью отказались от функции вознаграждения.
preview
Популяционные алгоритмы оптимизации: Эволюция социальных групп (Evolution of Social Groups, ESG)

Популяционные алгоритмы оптимизации: Эволюция социальных групп (Evolution of Social Groups, ESG)

В статье рассмотрим принцип построения многопопуляционных алгоритмов и в качестве примера такого вида алгоритмов разберём Эволюцию социальных групп (ESG), новый авторский алгоритм. Мы проанализируем основные концепции, механизмы взаимодействия популяций и преимущества этого алгоритма, а также рассмотрим его производительность в задачах оптимизации.
preview
Популяционные алгоритмы оптимизации: Алгоритм интеллектуальных капель воды (Intelligent Water Drops, IWD)

Популяционные алгоритмы оптимизации: Алгоритм интеллектуальных капель воды (Intelligent Water Drops, IWD)

В статье рассматривается интересный алгоритм - интеллектуальные капли воды, IWD, подсмотренный у неживой природы, симулирующий процесс формирования русла реки. Идеи этого алгоритма позволили значительно улучшить прошлого лидера рейтинга - SDS, а нового лидера (модифицированный SDSm), как обычно, найдёте в архиве к статье.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 27): Скользящие средние и угол атаки

Возможности Мастера MQL5, которые вам нужно знать (Часть 27): Скользящие средние и угол атаки

Угол атаки (Angle of Attack) — популярный показатель, значение крутизны (steepness) которого, как считается, тесно связано с силой преобладающего тренда. Мы рассмотрим, как он обычно трактуется и применяется, и выясним, есть ли изменения, которые можно было бы внести в способ его измерения для улучшения торговой системы.
preview
DoEasy. Элементы управления (Часть 14): Новый алгоритм именования графических элементов. Продолжаем работу над WinForms-объектом TabControl

DoEasy. Элементы управления (Часть 14): Новый алгоритм именования графических элементов. Продолжаем работу над WinForms-объектом TabControl

В статье создадим новый алгоритм именования всех графических элементов для построения пользовательской графики и продолжим разработку WinForms-объекта TabControl.
preview
Нестационарные процессы и ложная регрессия

Нестационарные процессы и ложная регрессия

Статья призвана продемонстрировать факт появления ложной регрессии при попытках применить регрессионный анализ к нестационарным процессам с помощью моделирования по методу Монте-Карло.
preview
Теория категорий в MQL5 (Часть 8): Моноиды

Теория категорий в MQL5 (Часть 8): Моноиды

Статья продолжает серию о реализации теории категорий в MQL5. Здесь мы вводим моноиды как домен (множество), который отличает теорию категорий от других методов классификации данных за счет включения правил и элемента равнозначности.
preview
Нейросетевой торговый робот на современной архитектуре нейросети Mamba с селективной SSM

Нейросетевой торговый робот на современной архитектуре нейросети Mamba с селективной SSM

Статья исследует революционную архитектуру нейронной сети Mamba/SSM для прогнозирования финансовых временных рядов. Представлена полная реализация на MQL5 современной альтернативы Transformer с линейной сложностью O(N) вместо квадратичной O(N²). Детально рассмотрены селективные State Space Models, hardware-aware оптимизации, patching техники и продвинутые методы обучения AdamW. Включены практические результаты тестирования, показавшие увеличение точности с 62% до 71% при снижении времени обучения с 45 до 8 минут. Представлен готовый торговый советник с автообучением и адаптивным риск-менеджментом для MetaTrader 5.
preview
Как разработать агент обучения с подкреплением на MQL5 с интеграцией RestAPI (Часть 2): Функции MQL5 для HTTP-взаимодействия с REST API игры "крестики-нолики"

Как разработать агент обучения с подкреплением на MQL5 с интеграцией RestAPI (Часть 2): Функции MQL5 для HTTP-взаимодействия с REST API игры "крестики-нолики"

В этой статье расскажем о том, как MQL5 может взаимодействовать с Python и FastAPI, используя HTTP-вызовы в MQL5 для взаимодействия с игрой "крестики-нолики" на Python. В статье рассматривается создание API с помощью FastAPI для этой интеграции и приводится тестовый скрипт на MQL5, подчеркивающий универсальность MQL5, простоту Python и эффективность FastAPI в соединении различных технологий для создания инновационных решений.
preview
Возвратные стратегии дневной торговли RSI2 Ларри Коннорса

Возвратные стратегии дневной торговли RSI2 Ларри Коннорса

Ларри Коннорс — известный трейдер и автор книг, наиболее известный своими работами в области количественной (алгоритмизированной) торговли и таких стратегий, как 2-периодный индекс относительной силы RSI (RSI2), помогающих определять краткосрочные состояния перекупленности и перепроданности рынка. В этой статье объясним сначала актуальность нашего исследования, затем воссоздадим три самые известные стратегии Коннорса на языке MQL5 и применим их к внутридневной торговле на индексе CFD S&P 500.
preview
GIT: Но что это?

GIT: Но что это?

В этой статье я представлю очень важный инструмент для разработчиков. Если вы не знакомы с GIT, прочтите эту статью, дабы получить представление о том, что он собой представляет, и как его использовать вместе с MQL5.
preview
Разрабатываем мультивалютный советник (Часть 18): Автоматизация подбора групп с учётом форвард-периода

Разрабатываем мультивалютный советник (Часть 18): Автоматизация подбора групп с учётом форвард-периода

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

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

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

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

В этой статье мы описываем реализацию Многослойного итерационного алгоритма как метода группового учета аргументов на языке MQL5.
preview
Нейросети — это просто (Часть 51): Актор-критик, управляемый поведением (BAC)

Нейросети — это просто (Часть 51): Актор-критик, управляемый поведением (BAC)

В последних двух статьях рассматривался алгоритм Soft Actor-Critic, который включает энтропийную регуляризацию в функцию вознаграждения. Этот подход позволяет балансировать исследование среды и эксплуатацию модели, но он применим только к стохастическим моделям. В данной статье рассматривается альтернативный подход, который применим как для стохастических, так и для детерминированных моделей.
preview
Как создать торговый журнал с помощью MetaTrader и Google Sheets

Как создать торговый журнал с помощью MetaTrader и Google Sheets

Создайте торговый журнал с помощью MetaTrader и Google Sheets! Вы узнаете, как синхронизировать свои торговые данные с помощью HTTP POST и извлекать их с помощью HTTP-запросов. Наконец, у вас будет торговый журнал, который поможет эффективно отслеживать ваши сделки.
preview
Использование JSON Data API в MQL-проектах

Использование JSON Data API в MQL-проектах

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

Торговый робот на языковой GPT-модели

Статья представляет полную реализацию TimeGPT — специализированной архитектуры на основе Transformer для прогнозирования финансовых временных рядов на платформе MetaTrader 5. Рассмотрена адаптация механизма внимания для финансовых данных, селективная токенизация изменений цены, hardware-aware оптимизации и продвинутые техники обучения. Включены результаты практического тестирования, показавшие точность прогнозов 87% при горизонте 24 бара с временем обучения 15 минут на CPU. Представлен готовый торговый советник с автоматическим переобучением.
preview
Упрощаем торговлю на новостях (Часть 3): Совершаем сделки

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

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

Требования к статьям для публикации на MQL4.com

Требования к статьям для публикации на сайте MQL 4 Community
preview
Нейросети — это просто (Часть 55): Контрастный внутренний контроль (CIC)

Нейросети — это просто (Часть 55): Контрастный внутренний контроль (CIC)

Контрастное обучение (Contrastive learning) - это метод обучения представлению без учителя. Его целью является обучение модели выделять сходства и различия в наборах данных. В данной статье мы поговорим об использовании подходов контрастного обучения для исследования различных навыков Актера.
preview
Советник на базе универсального аппроксиматора MLP

Советник на базе универсального аппроксиматора MLP

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

Автоматизация торговли с помощью трендовой стратегии Parabolic SAR на MQL5: Создаем эффективный советник

В этой статье мы автоматизируем торговлю с помощью стратегии Parabolic SAR на MQL5, создав эффективный советник. Советник будет совершать сделки по трендам, определяемым индикатором Parabolic SAR.
preview
Нейросети — это просто (Часть 64): Метод Консервативного Весового Поведенческого Клонирования (CWBC)

Нейросети — это просто (Часть 64): Метод Консервативного Весового Поведенческого Клонирования (CWBC)

В результате тестов, проведенных в предыдущих статьях, мы пришли к выводу, что оптимальность обученной стратегии во многом зависит от используемой обучаемой выборки. В данной статье я предлагаю вам познакомиться с довольно простым и эффективном методе выбора траекторий для обучения моделей.
preview
DoEasy. Элементы управления (Часть 9): Реорганизация методов WinForms-объектов, элементы управления "RadioButton" и "Button"

DoEasy. Элементы управления (Часть 9): Реорганизация методов WinForms-объектов, элементы управления "RadioButton" и "Button"

В статье наведём порядок в наименованиях методов классов WinForms-объектов и создадим WinForms-объекты Button и RadioButton.
preview
Измерение информативности индикатора

Измерение информативности индикатора

Машинное обучение стало популярным методом разработки стратегий. В трейдинге традиционно больше внимания уделяется максимизации прибыльности и точности прогнозов. При этом обработка данных, используемых для построения прогностических моделей, остается на периферии. В этой статье мы рассматриваем использование концепции энтропии для оценки пригодности индикаторов при построении прогностических моделей, как описано в книге Тимоти Мастерса "Тестирование и настройка систем рыночной торговли" (Testing and Tuning Market Trading Systems by Timothy Masters).
preview
Тип рисования DRAW_ARROW в мультисимвольных мультипериодных индикаторах

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

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

Разрабатываем мультивалютный советник (Часть 25): Подключаем новую стратегию (II)

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

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

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