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

icon

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

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

Новая статья
последние | лучшие
preview
Гауссовcкие процессы в машинном обучении (Часть 1): Модель классификации в MQL5

Гауссовcкие процессы в машинном обучении (Часть 1): Модель классификации в MQL5

В данной статье мы рассмотрим модель классификации гауссовских процессов. Мы начнём с изучения её теоретических принципов, а затем перейдём к практической разработке библиотеки ГП на MQL5.
preview
Разработка системы репликации (Часть 27): Проект советника — класс C_Mouse (I)

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

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

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

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

Автоматизация торговых стратегий на MQL5 (Часть 3): система Zone Recovery RSI для динамического управления торговлей

В этой статье мы создадим систему Zone Recovery RSI EA на языке MQL5, используя сигналы RSI для запуска сделок и стратегию восстановления для управления убытками. Мы реализуем класс ZoneRecovery для автоматизации входа в сделку, логики восстановления и управления позициями. В заключение статьи приводятся результаты бэктестинга для оптимизации производительности и повышения эффективности советника.
preview
Разработка инструментария для анализа движения цен (Часть 3): Советник Analytics Master

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

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

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

В статье создадим первую версию элемента управления TableControl (TableView). Это будет простая статичная таблица, создаваемая на основе входных данных, определяемых двумя массивами — массивом данных и массивом заголовков столбцов.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (II) - Настройка LoRA

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

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

От новичка до эксперта: Алгоритмическая дисциплина трейдера — советник Risk Enforcer вместо эмоций

Для многих трейдеров разрыв между знанием правил управления рисками и последовательным их соблюдением приводит к гибели счетов. Эмоциональное подавление, торговля с целью отыграться и простая оплошность могут разрушить даже самую лучшую стратегию. Сегодня мы превратим платформу MetaTrader 5 в надежного исполнителя ваших торговых правил, разработав советник по управлению рисками под названием Risk Enforcement Expert Advisor. Присоединяйтесь к этой дискуссии, чтобы узнать больше.
preview
Пользовательский индикатор: Отображение сделок входа, выхода и разворота позиции на неттинговых счетах

Пользовательский индикатор: Отображение сделок входа, выхода и разворота позиции на неттинговых счетах

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

Тестирование надежности торговых советников

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

Гауссовcкие процессы в машинном обучении (Часть 1): Модель классификации в MQL5

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

Разработка инструментария для анализа движения цен (Часть 12): Внешние библиотеки (III) TrendMap

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

От новичка до эксперта: Система автогеометрического анализа

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

Построение модели ограничения тренда свечей (Часть 7): Улучшаем нашу модель для разработки советника

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

Компьютерное зрение для трейдинга (Часть 2): Усложняем архитектуру до 2D-анализа RGB-изображений

Компьютерное зрение для трейдинга, как работает и как разрабатывается по шагам. Создаем алгоритм распознавания RGB-изображений графиков цен с механизмом внимания и двунаправленным LSTM-слоем. В результате получаем рабочую модель прогнозирования цены евро-доллара с точностью до 55% на валидационном участке.
preview
Модель портфельного риска с использованием критерия Келли и моделирования по методу Монте-Карло

Модель портфельного риска с использованием критерия Келли и моделирования по методу Монте-Карло

На протяжении десятилетий трейдеры использовали формулу критерия Келли для определения оптимальной доли капитала, которую можно направить на инвестиции или ставки, чтобы максимизировать долгосрочный рост при минимизации риска разорения. Однако слепое следование критерию Келли, основанному на результатах единственного бэк-тестирования, часто опасно для отдельных трейдеров, поскольку при реальной торговле торговое преимущество со временем тает, а прошлые результаты не являются предиктором будущих результатов. В настоящей статье я представлю реалистичный подход к применению критерия Келли для распределения рисков одного или нескольких советников в MetaTrader 5, основанный на результатах моделирования методом Монте-Карло с помощью Python.
preview
Модификация Алгоритма оптимизации динго — Dingo Optimization Algorithm M (DOAm)

Модификация Алгоритма оптимизации динго — Dingo Optimization Algorithm M (DOAm)

Представленная в статье авторская модификация алгоритма динго высоко подняла планку для поиска лучшего из лучших алгоритма оптимизации. Возможны ли еще более высокие результаты?
preview
Индикатор CAPM модели на рынке Forex

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

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

Разрабатываем менеджер терминалов (Часть 1): Постановка задачи

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

Нейросети в трейдинге: Возмущённые модели пространства состояний для анализа рыночной динамики

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

Разработка советника для анализа новостных событий о пробоях на основе календаря на MQL5

Волатильность, как правило, достигает пика во время важных новостных событий, создавая значительные возможности для пробоя. В настоящей статье мы расскажем о процессе реализации основанной на календаре стратегии прорыва. Мы рассмотрим все, начиная с создания класса для интерпретации и хранения календарных данных, разработки реалистичных бэк-тестов на основе этих данных и, наконец, реализации кода исполнения для реальной торговли.
preview
Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)

Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)

Статья разбирает алгоритм Battle Royale Optimizer — метаэвристику, в которой решения конкурируют с ближайшими соседями, накапливают “повреждения”, заменяются при превышении порога и периодически сужают пространство поиска вокруг лучшего. Показаны псевдокод и реализация класса CAOBRO в MQL5, включая поиск соседей, движение к лучшему и адаптивный интервал delta. Результаты тестов на функциях Hilly, Forest и Megacity демонстрируют сильные и слабые стороны подхода. Читатель получает готовую основу для экспериментов и настройки popSize и maxDamage.
preview
Разработка системы репликации (Часть 30): Проект советника — класс C_Mouse (IV)

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

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

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

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

Переосмысливаем классические стратегии (Часть V): Анализ нескольких инструментов в валютной паре USDZAR

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

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

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

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

В заключительной статье этой серии вы узнаете, как легко импортировать и применять EX5-библиотеку для управления историей (History Manager) в исходном коде MQL5 для обработки истории сделок в вашем аккаунте MetaTrader 5. С помощью простых вызовов функций в MQL5, занимающих всего одну строку кода, вы сможете эффективно управлять своими торговыми данными и анализировать их. Кроме того, вы научитесь создавать различные скрипты для анализа истории сделок и разрабатывать советник на основе ценовых показателей в качестве практических примеров использования. Используемый в качестве примера советник применяет данные о ценах и библиотеку History Manager EX5 для принятия обоснованных торговых решений, корректировки объемов сделок и реализации стратегий восстановления на основе ранее закрытых сделок.
preview
Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)

Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)

В статье описан инновационный подход в области оптимизации, сочетающий пространственную конкуренцию решений с адаптивным сужением пространства поиска, делая Battle Royale Optimizer перспективным инструментом для финансового анализа.
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года

Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года

В данной теме представлены Еженедельные Репортажи Чемпионата 2007 года. Эти материалы являются моментальными снимками, которые интересно читать не только в ходе самих соревнований, но и спустя годы.
preview
Переосмысливаем классические стратегии (Часть VII): Анализ валютных рынков и суверенного долга на USDJPY

Переосмысливаем классические стратегии (Часть VII): Анализ валютных рынков и суверенного долга на USDJPY

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

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

Вы узнаете, как разработать и внедрить комплексную библиотеку отложенных EX5-ордеров в ваш код или MQL5-проекты. Мы рассмотрим, как импортировать и реализовать такую библиотеку в составе торговой панели или графического пользовательского интерфейса (GUI). Панель ордеров советника позволит пользователям открывать, отслеживать и удалять отложенные ордера по магическому числу непосредственно из графического интерфейса в окне графика.
preview
Нейросети в трейдинге: Иерархический двухбашенный трансформер (Hidformer)

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

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

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

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

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

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

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

В настоящей статье улучшим оперативность работы панели администратора, созданную нами ранее. Кроме того, мы рассмотрим важность быстрого обмена сообщениями в контексте торговых сигналов.
preview
Автоматизация торговых стратегий на MQL5 (Часть 15): Гармонический паттерн «Шифр» (Cypher) ценового действия с визуализацией

Автоматизация торговых стратегий на MQL5 (Часть 15): Гармонический паттерн «Шифр» (Cypher) ценового действия с визуализацией

В настоящей статье мы исследуем автоматизацию гармонического паттерна «Шифр» (Cypher) на MQL5, подробно описывая его обнаружение и визуализацию на графиках MetaTrader 5. Мы реализуем советник, который определяет точки колебания, проверяет паттерны на основе Фибоначчи и совершает сделки с четкими графическими аннотациями. Статья завершается рекомендациями по тестированию на истории и оптимизации программы для эффективной торговли.
preview
Внедряем систему непрерывной адаптации LLM для алгоритмического трейдинга

Внедряем систему непрерывной адаптации LLM для алгоритмического трейдинга

SEAL (Self-Evolving Adaptive Learning) — система непрерывной адаптации LLM для алгоритмического трейдинга, решающая проблему быстрой деградации моделей на меняющихся рынках. Вместо периодического переобучения, которое занимает часы и стирает старые паттерны, SEAL учится на каждой закрытой сделке, сохраняя приоритетную память важных примеров и автоматически запуская инкрементальный файнтьюнинг при падении точности или смене рыночного режима.
preview
Нейросети в трейдинге: Двойная кластеризация временных рядов (DUET)

Нейросети в трейдинге: Двойная кластеризация временных рядов (DUET)

Фреймворк DUET предлагает инновационный подход к анализу временных рядов, сочетая временную и канальную кластеризацию для выявления скрытых закономерностей в анализируемых данных. Это позволяет адаптировать модели к изменениям во времени и повысить качество прогнозирования за счет устранения шума.
Материалы Automated Trading Championship: Интервью с Участниками 2007 года
Материалы Automated Trading Championship: Интервью с Участниками 2007 года

Материалы Automated Trading Championship: Интервью с Участниками 2007 года

В публикуемых интервью Чемпионата 2007 года уже чувствуется влияние результатов предыдущего соревнования. Первый Чемпионат получил широкий резонанс не только на страницах интернета, но и в оффлайновых печатных изданиях. Ведущий разработчик компании MetaQuotes Software Corp. рассказывает о нововведениях предстоящего Чемпионата Automated Trading Championship 2007. Мы обратились с вопросами к разработчику известного индикаторного комплекса ZUP Евгению Неумоину (nen), пообщались с трейдером фонда Александром Позднышевым (AlexSilver).
preview
Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

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

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