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

icon

Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе MetaEditor и запустить самостоятельно.

Эти статьи будут полезны как новичкам в автоматическом трейдинге, так и подготовленным трейдерам с опытом программирования и торговли. Здесь вы найдете не только примеры, но и новые идеи.

Новая статья
последние | лучшие
preview
От начального до среднего уровня: Перегрузка операторов (IV)

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

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

От начального к среднему уровню: Технические индикаторы (I)

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

Система аудита счета в MQL5 (Часть 1): Проектирование пользовательского интерфейса

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

Изучение стандартной библиотеки MQL5 (Часть 10): Канал полиномиальной регрессии

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

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

В этой статье представлен сквозной пайплайн: сбор данных MetaTrader 5, создание признаков на основе энтропии, волатильности и тренда, обучение классификатора PyTorch и предоставление прогнозов через API Flask. Советник MQL5 на каждом тике отправляет скользящее окно цен, получает вероятность и режим волатильности, а затем адаптивно рассчитывает размер позиции и расстояние до стоп-лосса. В результате получается ясная схема интеграции инференса машинного обучения с MetaTrader 5.
preview
Изучение стандартной библиотеки MQL5 (Часть 14): Создание советника для динамического хеджирования с использованием ALGLIB (ap.mqh)

Изучение стандартной библиотеки MQL5 (Часть 14): Создание советника для динамического хеджирования с использованием ALGLIB (ap.mqh)

В этой статье представлен ap.mqh, порт ALGLIB для MQL5, и продемонстрировано его использование в многоактивных сценариях работы, требующих надежной линейной алгебры. Рассматривается почему встроенных индикаторов недостаточно, а затем реализуются полиномиальная регрессия, индикатор скользящей корреляционной матрицы и адаптивный оценщик коэффициента хеджа с использованием гребневой ​​регрессии с разложением Холецкого. Практический код показывает, как вычислять z-показатели спреда и согласованно исполнять парные сделки полностью в MetaTrader 5.
preview
От начального до среднего уровня: Перегрузка операторов (III)

От начального до среднего уровня: Перегрузка операторов (III)

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

Как реализовать прогнозирование с помощью AutoARIMA в MQL5

В статье представлена реализация алгоритма AutoARIMA на языке MQL5, позволяющего строить модели ARIMA без ручной настройки. Метод оценивает d с помощью эвристики на основе дисперсии, подгоняет модель ARMA(p,q) посредством градиентной оптимизации с Adam и выбирает p и q по AICc. Код возвращает одношаговый прогноз цены, полученный путем дифференцирования, оценки модели и восстановления ряда до уровня цены, и может быть сразу вызван для ряда Close.
preview
Интеграция MQL5 с пакетами обработки данных (часть 8): Использование графовых нейронных сетей для выявления зон ликвидности

Интеграция MQL5 с пакетами обработки данных (часть 8): Использование графовых нейронных сетей для выявления зон ликвидности

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

GoertzelBrain: Адаптивное спектральное обнаружение циклов с помощью ансамбля нейронных сетей в MQL5

GoertzelBrain сочетает спектральный анализ по Гертцелю с ансамблем нейронных сетей, обучаемых в режиме онлайн, чтобы преобразовывать признаки циклов в сигнал подтверждения направления. Индикатор формирует компактный вектор признаков на основе доминирующего периода, амплитуды, уровня достоверности и их динамики, а также локальной волатильности, и выдает значение +1, −1 или 0. В статье приводится полная реализация на языке MQL5, объясняются архитектура и процесс конструирования признаков, а также показано, как использовать индикатор в качестве направленного фильтра.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 7): Построение многоагентных сред для межсимвольного взаимодействия

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

В статье представлена полная интеграция Python и MQL5 для многоагентной торговли: получение данных из MT5, расчет индикаторов, решения отдельных агентов и взвешенный консенсус, формирующий единое торговое решение. Сигналы сохраняются в JSON-файле, отдаются через Flask и используются советником MQL5 для исполнения сделок с расчетом объема позиции и уровней SL/TP на основе ATR. Маршруты Flask обеспечивают безопасное управление жизненным циклом и мониторинг состояния.
preview
Свинговые экстремумы и откаты в MQL5 (Часть 3): Определение структурной валидности за рамками простых максимумов и минимумов

Свинговые экстремумы и откаты в MQL5 (Часть 3): Определение структурной валидности за рамками простых максимумов и минимумов

В статье представлен советник MQL5, который переводит первичное обнаружение свингов на уровень основанного на правилах модуля структурной валидации. Свинги подтверждаются сломом структуры (break of structure), импульсным смещением, снятием ликвидности или удержанием уровня во времени (time-based respect), после чего связываются с картой ликвидности (liquidity map) и структурной машиной состояний (structural state machine). В результате получаются учитывающие контекст точки входа и стопы, привязанные к подтверждённым уровням, что помогает фильтровать шум и систематизировать исполнение сделок.
preview
От начального к среднему уровню: Перегрузка операторов (VI)

От начального к среднему уровню: Перегрузка операторов (VI)

Здесь мы реализуем удаление с помощью перегрузки операторов. Без сомнения, эту статью многим придётся изучать довольно долго, чтобы усвоить всё, что здесь будет показано. Хочу напомнить тебе, что то, что мы увидим, — лишь малая и незначительная часть всего того, что мы называем программированием.
preview
Интеграция внешних приложений с использованием OAuth MQL5 Community

Интеграция внешних приложений с использованием OAuth MQL5 Community

Узнайте, как добавить функцию "Войти с помощью MQL5" в ваше Android-приложение с помощью процесса для кода авторизации OAuth 2.0. В этом руководстве рассматриваются регистрация приложения, эндпоинты, URI перенаправления, Custom Tabs, обработка диплинков, а также бэкенд на PHP, который обменивает код на токен доступа по HTTPS. Вы реализуете аутентификацию реальных пользователей MQL5 и получите доступ к данным их профиля, таким как ранг и репутация.
preview
От начального к среднему уровню: Подокна (I)

От начального к среднему уровню: Подокна (I)

В этой статье мы начнём разбирать, как работать с подокнами в MetaTrader 5 с помощью MQL5. Это обширная тема с несколькими практическими аспектами, которые могут оказаться непростыми, поэтому мы начнём с краткого введения. И всё же, дорогой читатель, важно, чтобы вы поняли то, о чём мы здесь поговорим, ведь это может сыграть большую роль в вашем будущем.