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

icon

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

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

Новая статья
последние | лучшие
preview
Инженерия признаков с Python и MQL5 (Часть I): AI-модели для долгосрочного прогнозирования по скользящим средним

Инженерия признаков с Python и MQL5 (Часть I): AI-модели для долгосрочного прогнозирования по скользящим средним

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

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

В этой статье мы расскажем о классе C_ChartFloatingRAD. Это то, что позволяет Chart Trade работать. Однако на этом объяснение не закончится. Мы завершим его в следующей статье, так как содержание данной статьи довольно объемное и требует глубокого понимания. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
preview
Создание Python-классов для торговли в MetaTrader 5, аналогичных представленным в MQL5

Создание Python-классов для торговли в MetaTrader 5, аналогичных представленным в MQL5

Python-пакет MetaTrader 5 предлагает простой способ создания торговых приложений для платформы MetaTrader 5 на языке Python. Будучи мощным и полезным инструментом данный модуль не так прост как язык программирования MQL5, когда дело касается разработки решений для алгоритмической торговли. В данной статье мы создадим классы для торговли, аналогичные предлагаемым в языке MQL5, чтобы создать схожий синтаксис и сделать разработку торговых роботов на Python такой же простой как и на MQL5.
preview
Переосмысливаем классические стратегии (Часть XI): Пересечение скользящих средних (II)

Переосмысливаем классические стратегии (Часть XI): Пересечение скользящих средних (II)

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

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 45): Обучение с подкреплением с помощью метода Монте-Карло

Монте-Карло — четвертый алгоритм обучения с подкреплением, который мы рассматриваем в контексте его реализации в советниках, собранных с помощью Мастера. Хотя алгоритм основан на случайной выборке, он предоставляет обширные возможности моделирования.
preview
Разработка системы репликации (Часть 74): Новый Chart Trade (I)

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

В этой статье мы изменим последний код, показанный в данной серии о Chart Trade. Эти изменения необходимы, чтобы адаптировать код к текущей модели системы репликации/моделирования. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
preview
Отправка запросов в Connexus (Часть 6): Создание HTTP-запроса и ответа

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

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

Разработка инструментария для анализа движения цен (Часть 1): Проектор графиков

Настоящий проект направлен на использование алгоритма MQL5 для разработки комплексного набора инструментов анализа для MetaTrader 5. Эти инструменты — от скриптов и индикаторов до моделей искусственного интеллекта и советников — позволят автоматизировать процесс анализа рынка. Иногда такая разработка позволяет создавать инструменты, способные выполнять углубленный анализ без участия человека и прогнозировать результаты на соответствующих платформах. Ни одна возможность не будет упущена. Присоединяйтесь ко мне в рамках исследования процесса создания надежного набора пользовательских инструментов для анализа рынка. Начнем с разработки простой программы на MQL5, которую я назвал Chart Projector (Проектор графиков).
preview
Отбор признаков и снижение размерности с помощью анализа главных компонент (PCA)

Отбор признаков и снижение размерности с помощью анализа главных компонент (PCA)

В статье рассматривается реализация модифицированного алгоритма анализа компонентов прямого отбора, вдохновленного исследованиями, представленными в книге Луки Пуггини (Luca Puggini) и Шона Маклуна (Sean McLoone) “Анализ компонентов прямого отбора: алгоритмы и приложения”.
preview
Нейросети в трейдинге: Фреймворк кросс-доменного прогнозирования временных рядов (TimeFound)

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

В этой статье мы шаг за шагом собираем ядро интеллектуальной модели TimeFound, адаптированной под реальные задачи прогнозирования временных рядов. Если вас интересует практическая реализация нейросетевых патчинг-алгоритмов в MQL5 — вы точно по адресу.
preview
От начального до среднего уровня: Определения (I)

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

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

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

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

Построение модели для ограничения диапазона сигналов по тренду (Часть 9): Советник с несколькими стратегиями (II)

Количество стратегий, которые можно интегрировать в виде советника, практически безгранично. Однако каждая дополнительная стратегия увеличивает сложность алгоритма. Благодаря использованию нескольких стратегий советник может лучше адаптироваться к изменяющимся рыночным условиям, что потенциально повышает его прибыльность. Сегодня мы рассмотрим, как реализовать в MQL5 одну из выдающихся стратегий, разработанных Ричардом Дончианом, продолжая при этом совершенствовать функциональность нашего советника Trend Constraint.
preview
От начального до среднего уровня: Рекурсия

От начального до среднего уровня: Рекурсия

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

Майнинг данных балансов центробанков и получение картины мировой ликвидности

Майнинг данных балансов центробанков позволяет получить картину мировой ликвидности рынка Форекс и ключевых валют. Мы объединяем данные ФРС, ЕЦБ, BOJ и PBoC в композитный индекс и применяем машинное обучение для выявления скрытых закономерностей. Такой подход превращает сырой поток данных в реальные торговые сигналы, соединяя фундаментальный и технический анализ.
preview
Трейдинг с экономическим календарем MQL5 (Часть 1): Освоение функций экономического календаря MQL5

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

В этой статье мы рассмотрим, как использовать экономический календарь MQL5 для торговли, сначала разобравшись с его основными функциями. Затем мы реализуем ключевые функции экономического календаря в MQL5 для извлечения необходимых новостей для принятия торговых решений. Наконец, мы посмотрим, как использовать эту информацию для эффективного совершенствования торговых стратегий.
preview
Изучаем конформное прогнозирование финансовых временных рядов

Изучаем конформное прогнозирование финансовых временных рядов

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

Разрабатываем мультивалютный советник (Часть 27): Компонент для вывода многострочного текста

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

Помощник Connexus (Часть 5): HTTP-методы и коды состояния

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

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

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

Криптография в MQL5: Шифрование, хеширование и защита данных

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

Торгуем опционы без опционов (Часть 1): Основы теории и эмуляция через базовые активы

Статья описывает вариант эмуляции опционов через базовый актив, реализованный на языке программирования MQL5. Сравниваются преимущества и недостатки выбранного подхода с реальными биржевыми опционами на примере срочного рынка ФОРТС московской биржи MOEX и криптобиржи Bybit.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 44): Технический индикатор Average True Range (ATR)

Возможности Мастера MQL5, которые вам нужно знать (Часть 44): Технический индикатор Average True Range (ATR)

Осциллятор ATR — очень популярный индикатор, используемый в качестве индикатора волатильности, особенно на валютных рынках, где данные об объемах скудны. Как и в случае с предыдущими индикаторами, мы рассмотрим паттерны и поделимся стратегиями и отчетами о тестировании.
preview
Создание советника на MQL5 на основе стратегии Прорыва дневного диапазона (Daily Range Breakout)

Создание советника на MQL5 на основе стратегии Прорыва дневного диапазона (Daily Range Breakout)

В настоящей статье мы создаём советника на MQL5 на основе стратегии Прорыва дневного диапазона (Daily Range Breakout). Мы рассмотрим ключевые концепции стратегии, разработаем схему советника и реализуем логику прорыва на MQL5. В конце мы изучаем методы бэк-тестирования и оптимизации советника, чтобы максимально повысить его эффективность.
preview
От начального до среднего уровня: Объединение (I)

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

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

Индикатор CAPM модели на рынке Forex

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

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

В этой статье мы рассмотрим, как можно сделать нечто очень похожее на то, что реализовано в таких языках, как C, C++ и Java. Речь идет о передаче практически бесконечного числа параметров внутрь функции или процедуры. Хоть может показаться, что это довольно продвинутая тема, на мой взгляд, то, что здесь будет показано, сможет легко реализовать любой, кто понял предыдущие концепции. При условии, что они действительно были усвоены.
preview
Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Окончание)

Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Окончание)

Фреймворк Mantis превращает сложные временные ряды в информативные токены и служит надёжным фундаментом для интеллектуального торгового Агента, готового работать в реальном времени.
preview
Переосмысливаем классические стратегии (Часть X): Может ли ИИ управлять MACD?

Переосмысливаем классические стратегии (Часть X): Может ли ИИ управлять MACD?

Присоединяйтесь к нам, поскольку мы провели эмпирический анализ индикатора MACD, чтобы проверить, поможет ли применение искусственного интеллекта к стратегии, включая индикатор, повысить точность прогнозирования пары EURUSD. Мы одновременно оценивали, легче ли прогнозировать сам индикатор, чем цену, а также позволяет ли значение индикатора прогнозировать будущие уровни цен. Мы предоставим вам информацию, необходимую для принятия решения о том, стоит ли вам инвестировать свое время в интеграцию MACD в ваши торговые стратегии с использованием искусственного интеллекта.
preview
Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Простые элементы управления

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

В статье рассмотрены простые элементы управления как составляющие части более сложных графических элементов компонента View в рамках реализации таблиц в парадигме MVC (Model-View-Controller). Реализован базовый функционал компонента Controller для интерактивного взаимодействия элементов с пользователем и друг с другом. Это вторая статья, посвященная компоненту View, и четвёртая в серии статей о создании таблиц для клиентского терминала MetaTrader 5.
preview
Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Построение объектов)

Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Построение объектов)

Mantis — универсальный инструмент для глубокого анализа временных рядов, гибко масштабируемый под любые финансовые сценарии. Узнайте, как сочетание патчинга, локальных свёрток и кросс-внимания позволяет получить высокоточную интерпретацию рыночных паттернов.
preview
Индикатор прогнозирования ARIMA на MQL5

Индикатор прогнозирования ARIMA на MQL5

В данной статье мы создаем индикатор прогнозирования ARIMA на MQL5. Рассматривается, как модель ARIMA формирует прогнозы, её применимость к рынку Форекс и фондовому рынку в целом. Также объясняется, что такое авторегрессия AR, каким образом авторегрессионные модели используются для прогнозирования, и как работает механизм авторегрессии.
preview
Тело в Connexus (Часть 4): Добавление поддержки тела HTTP-запроса

Тело в Connexus (Часть 4): Добавление поддержки тела HTTP-запроса

В настоящей статье мы рассмотрели концепцию тела в HTTP-запросах, которое необходимо для отправки таких данных, как JSON и обычный текст. Мы обсудили и объяснили, как правильно его использовать с соответствующими заголовками. Мы также ввели класс ChttpBody, входящий в библиотеку Connexus, который упростит работу с телом запросов.
preview
Создание торговой панели администратора на MQL5 (Часть V): Двухфакторная аутентификация (2FA)

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

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

Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Mantis)

Познакомьтесь с Mantis — лёгкой фундаментальной моделью для классификации временных рядов на базе Transformer с контрастным предварительным обучением и гибридным вниманием, обеспечивающими рекордную точность и масштабируемость.
preview
Машинное обучение и Data Science (Часть 31): Применение моделей CatBoost в трейдинге

Машинное обучение и Data Science (Часть 31): Применение моделей CatBoost в трейдинге

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

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

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

Детерминированный осциллирующий поиск — Deterministic Oscillatory Search (DOS)

Алгоритм Deterministic Oscillatory Search (DOS) — инновационный метод глобальной оптимизации, сочетающий преимущества градиентных и роевых алгоритмов без использования случайных чисел. Механизм осцилляций и наклонов фитнеса позволяет DOS исследовать сложные пространства поиска детерминированным методом.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 43): Обучение с подкреплением с помощью SARSA

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

SARSA (State-Action-Reward-State-Action, состояние-действие-вознаграждение-состояние-действие) — еще один алгоритм, который можно использовать при реализации обучения с подкреплением. Рассмотрим, как можно реализовать этот алгоритм в качестве независимой модели (а не просто механизма обучения) в советниках, собранных в Мастере, аналогично тому, как мы это делали в случаях с Q-обучением и DQN.