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

icon

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

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

Новая статья
последние | лучшие
preview
Торговая стратегия SP500 на языке MQL5 для начинающих

Торговая стратегия SP500 на языке MQL5 для начинающих

Узнайте, как использовать язык MQL5 для точного прогнозирования индекса S&P 500, добавляя классический технический анализ для обеспечения стабильности и объединяя алгоритмы с проверенными временем принципы для получения надежной информации о рынке.
preview
Нейросети — это просто (Часть 94): Оптимизация последовательности исходных данных

Нейросети — это просто (Часть 94): Оптимизация последовательности исходных данных

При работе с временными рядами мы всегда используем исходные данные в их исторической последовательности. Но является ли это оптимальным вариантом? Существует мнение, что изменение последовательности исходных данных позволит повысить эффективность обучаемых моделей. В данной статье я предлагаю вам познакомиться с одним из таких методов.
preview
Переосмысливаем классические стратегии (Часть 12):  Стратегия пробоев на паре EURUSD

Переосмысливаем классические стратегии (Часть 12): Стратегия пробоев на паре EURUSD

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

Статистический арбитраж посредством возврата к среднему значению в парной торговле: Обыграем рынок с помощью математики

Эта статья описывает фундаментальные основы статистического арбитража на уровне портфеля. Ее цель — облегчить понимание принципов статистического арбитража читателям, не обладающим глубокими математическими познаниями, и предложить отправную концептуальную конструкцию. Статья включает в себя работающего экспертного советника, некоторые заметки о его тестировании на исторических данных в пределах одного года, а также соответствующие настройки конфигурации тестирования на исторических данных (файл .ini) для воспроизведения эксперимента.
preview
Разработка системы репликации (Часть 41): Начало второй фазы (II)

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

Если до этого момента вам всё казалось правильным, это значит, что вы на самом деле не задумываетесь о долгосрочной перспективе. Когда вы начинаете разрабатывать приложения, а со временем вам больше не приходится создавать новые приложения. Остается только добиться того, чтобы они работали вместе. Давайте рассмотрим, как завершить сборку указателя мыши.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (I) - Тонкая настройка

Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (I) - Тонкая настройка

Языковые модели (LLM) являются важной частью быстро развивающегося искусственного интеллекта, поэтому нам следует подумать о том, как интегрировать мощные LLM в нашу алгоритмическую торговлю. Большинству людей сложно настроить эти модели в соответствии со своими потребностями, развернуть их локально, а затем применить к алгоритмической торговле. В этой серии статей будет рассмотрен пошаговый подход к достижению этой цели.
preview
Эволюционный торговый алгоритм обучения с подкреплением и вымиранием убыточных особей (ETARE)

Эволюционный торговый алгоритм обучения с подкреплением и вымиранием убыточных особей (ETARE)

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

Решение проблем интеграции ONNX

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

Теория категорий в MQL5 (Часть 7): Мульти-, относительные и индексированные домены

Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который лишь недавно начал освещаться в MQL5-сообществе. Эта серия статей призвана рассмотреть некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
preview
Машинное обучение и Data Science (Часть 29): Как отбирать лучшие форекс-данные для обучения ИИ

Машинное обучение и Data Science (Часть 29): Как отбирать лучшие форекс-данные для обучения ИИ

В этой статье мы подробно рассмотрим важные аспекты при выборе наиболее релевантных и качественных данных с рынка Forex для повышения производительности моделей искусственного интеллекта.
preview
DoEasy. Элементы управления (Часть 33): вертикальный "ScrollBar"

DoEasy. Элементы управления (Часть 33): вертикальный "ScrollBar"

В статье продолжим разработку графических элементов библиотеки DoEasy, и добавим вертикальную прокрутку элементов управления объекта-формы и некоторые полезные функции и методы, которые потребуются в дальнейшем.
preview
Самооптимизирующийся советник на языках MQL5 и Python (Часть III): Реализация алгоритма Boom 1000

Самооптимизирующийся советник на языках MQL5 и Python (Часть III): Реализация алгоритма Boom 1000

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

Торговый инструментарий MQL5 (Часть 2): Расширение и применение EX5-библиотеки для управления позициями

Узнайте, как импортировать и использовать EX5-библиотеки в вашем коде или проектах MQL5. В этой статье мы расширим ранее созданную EX5-библиотеку, добавив больше функций управления позициями и создав два советника. В первом примере будет использоваться технический индикатор Variable Index Dynamic Average для разработки советника по стратегии трейлинг-стопа, а во втором - торговая панель для мониторинга, открытия, закрытия и изменения позиций. Эти два примера продемонстрируют, как использовать обновленную EX5-библиотеку для управления позициями.
preview
Разработка системы репликации (Часть 50): Все усложняется (II)

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

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

Теория категорий в MQL5 (Часть 12): Порядок

Статья является частью серии о реализации графов средствами теории категорий в MQL5 и посвящена отношению порядка (Order Theory). Мы рассмотрим два основных типа упорядочения и исследуем, как концепции отношения порядка могут поддерживать моноидные множества при принятии торговых решений.
preview
Графический интерфейс: советы и рекомендации по созданию графической библиотеки на MQL

Графический интерфейс: советы и рекомендации по созданию графической библиотеки на MQL

Мы рассмотрим основы библиотек графического интерфейса, чтобы вы могли понять, как они работают, или даже начали создавать свои собственные.
preview
Разработка системы репликации - Моделирование рынка (Часть 16): Новая система классов

Разработка системы репликации - Моделирование рынка (Часть 16): Новая система классов

Нам нужно лучше организовать свою работу. Код растёт, и если этого не сделать сейчас, потом это станет невозможным. Давайте разделять и властвовать. То, что MQL5 позволяет нам использовать классы, поможет нам в этой задаче, но для этого нам нужно иметь некоторые знания о некоторых моментах, связанных с классами. Наверное, новичков больше всего смущает наследование. В этой статье мы рассмотрим практичным и простым способом, как использовать данные механизмы.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 12): Полином Ньютона

Возможности Мастера MQL5, которые вам нужно знать (Часть 12): Полином Ньютона

Полином Ньютона, который создает квадратные уравнения из набора нескольких точек, представляет собой архаичный, но интересный подход к рассмотрению временных рядов. В этой статье мы попытаемся изучить, какие аспекты этого подхода могут быть полезны трейдерам, а также устранить его ограничения.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 9): Советник с несколькими стратегиями (II)

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

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

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

При параллельной работе многих стратегий может возникнуть желание время от времени закрывать все открытые позиции и начинать работу стратегий заново. Уже написанный код позволяет реализовать такое поведение только вместе с ручными манипуляциями. Попробуем автоматизировать эту часть.
preview
Алгоритм искусственного электрического поля — Artificial Electric Field Algorithm (AEFA)

Алгоритм искусственного электрического поля — Artificial Electric Field Algorithm (AEFA)

Статья представляет алгоритм искусственного электрического поля (AEFA), вдохновленный законом Кулона об электростатической силе. Алгоритм моделирует электрические явления для решения сложных задач оптимизации, используя заряженные частицы и их взаимодействие. AEFA демонстрирует уникальные свойства в контексте других алгоритмов, связанных с законами природы.
Разработка системы репликации - Моделирование рынка (Часть 10): Только реальные данные для репликации
Разработка системы репликации - Моделирование рынка (Часть 10): Только реальные данные для репликации

Разработка системы репликации - Моделирование рынка (Часть 10): Только реальные данные для репликации

Здесь мы рассмотрим, как более надежные данные (торгуемые тики) можно использовать в системе репликации, не беспокоясь о том, скорректированы они или нет.
preview
Оцениваем будущую производительность с помощью доверительных интервалов

Оцениваем будущую производительность с помощью доверительных интервалов

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 11): Числовые стены

Числовые стены (Number Walls) — это вариант регистра сдвига с линейной обратной связью (Linear Shift Back Registers), который предварительно оценивает последовательности на предмет предсказуемости путем проверки на сходимость. Мы посмотрим, как эти идеи могут быть использованы в MQL5.
preview
Алгоритм черной дыры — Black Hole Algorithm (BHA)

Алгоритм черной дыры — Black Hole Algorithm (BHA)

Алгоритм черной дыры (Black Hole Algorithm, BHA) использует принципы гравитации черных дыр для оптимизации решений. В статье мы рассмотрим, как BHA притягивает лучшие решения, избегая локальных экстремумов, и почему этот алгоритм стал мощным инструментом для решения сложных задач. Узнайте, как простые идеи могут привести к впечатляющим результатам в мире оптимизации.
preview
Быстрая интеграция большой языковой модели и MetaTrader 5 (Часть I): Создаем модель

Быстрая интеграция большой языковой модели и MetaTrader 5 (Часть I): Создаем модель

Статья исследует революционную интеграцию больших языковых моделей (LLM) с торговой платформой MetaTrader 5, где AI не просто прогнозирует цены, а принимает автономные торговые решения, анализируя контекст рынка подобно опытному трейдеру. Автор раскрывает фундаментальное отличие LLM от классических моделей машинного обучения вроде CatBoost — способность к метапознанию и саморефлексии, что позволяет системе учиться на собственных ошибках и улучшать стратегию.
preview
Машинное обучение и Data Science (Часть 28): Прогнозирование множества будущих значений для EURUSD

Машинное обучение и Data Science (Часть 28): Прогнозирование множества будущих значений для EURUSD

Многие модели искусственного интеллекта заточены на прогнозирование одного единственного будущего значения. В этой статье мы посмотрим, как использовать модели машинного обучения для прогнозирования множества будущих значений. Такой подход, называемый многошаговым прогнозированием, позволяет предсказывать не только цену закрытия на завтра, но и на послезавтра и так далее. Несомненное преимущество многошагового прогнозирования для трейдеров и аналитиков данных — более широкий спектр информации для возможностей стратегического планирования.
preview
Разработка системы репликации - Моделирование рынка (Часть 21):  ФОРЕКС (II)

Разработка системы репликации - Моделирование рынка (Часть 21): ФОРЕКС (II)

Мы продолжим строить систему для работы на рынке ФОРЕКС. Поэтому для того, чтобы решить эту проблему необходимо сначала объявить загрузку тиков до загрузки предыдущих баров. Это решает проблему, но в то же время заставляет пользователя следовать некой структуре в конфигурационном файле, которая, лично для меня, не имеет особого смысла. Причина в том, что, разработав программу, которая отвечает за анализ и выполнение того, что находится в конфигурационном файле, мы можем позволить пользователю объявлять нужные ему элементы в любом порядке.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 5): Система уведомлений (Часть II)

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

В статье подробно рассматривается интеграция уведомлений индикаторов MetaTrader 5 в Telegram с использованием возможностей MQL5, Python и API Telegram Bot. Вы сможете применить полученную информацию в своих проектах.
preview
Интеграция скрытых марковских моделей в MetaTrader 5

Интеграция скрытых марковских моделей в MetaTrader 5

В этой статье мы продемонстрируем, как скрытые марковские модели, обученные с использованием Python, могут быть интегрированы в приложения MetaTrader 5. Скрытые марковские модели — это мощный статистический инструмент, используемый для моделирования временных рядов данных, где моделируемая система характеризуется ненаблюдаемыми (скрытыми) состояниями. Фундаментальная предпосылка HMM заключается в том, что вероятность нахождения в заданном состоянии в определенный момент времени зависит от состояния процесса в предыдущем временном интервале.
preview
MQL5-советник, интегрированный в Telegram (Часть 5): Отправка команд из Telegram в MQL5 и получение ответов в реальном времени

MQL5-советник, интегрированный в Telegram (Часть 5): Отправка команд из Telegram в MQL5 и получение ответов в реальном времени

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

Нейросети в трейдинге: Использование языковых моделей для прогнозирования временных рядов

Мы продолжаем рассмотрения моделей прогнозирования временных рядов. И в данной статье я предлагаю познакомиться с комплексным алгоритмом, построенным на использовании предварительно обученной языковой модели.
preview
Критерии тренда. Окончание

Критерии тренда. Окончание

В этой статье мы рассмотрим особенности применения некоторых критериев тренда на практике. А также сделаем попытку разработать несколько новых критериев. Основное внимание будет уделено эффективности применения этих критериев для анализа рыночных данных и трейдинга.
preview
Разработка системы репликации (Часть 38): Прокладываем путь (II)

Разработка системы репликации (Часть 38): Прокладываем путь (II)

Многие люди, которые считают себя программистами на MQL5, не обладают базовыми знаниями, которые мы изложим в этой статье. Многие считают MQL5 ограниченным инструментом, однако всё дело в недостатке знаний. Так что если вы чего-то не знаете, не стыдитесь этого. Лучше пусть вам будет стыдно за то, что вы не спросили. Простое принуждение MetaTrader 5 к запрету дублирования индикатора никоим образом не обеспечивает двустороннюю связь между индикатором и советником. Мы еще очень далеки от этого, но тот факт, что индикатор не дублируется на графике, дает нам некоторое утешение.
preview
Разработка динамического советника на нескольких парах (Часть 1): Корреляция и обратная корреляция валютных пар

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 08): Перцептроны

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

Как реализовать автоматическую оптимизацию в советниках MQL5

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

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

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

Теория категорий в MQL5 (Часть 5): Эквалайзеры

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

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

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