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

icon

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

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

Новая статья
последние | лучшие
preview
Теория категорий в MQL5 (Часть 4): Интервалы, эксперименты и композиции

Теория категорий в MQL5 (Часть 4): Интервалы, эксперименты и композиции

Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который пока относительно не освещен в MQL5-сообществе. Эта серия статей призвана описать некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
preview
Алгоритм эволюции панциря черепахи (Turtle Shell Evolution Algorithm, TSEA)

Алгоритм эволюции панциря черепахи (Turtle Shell Evolution Algorithm, TSEA)

Уникальный алгоритм оптимизации, вдохновленный эволюцией панциря черепахи. Алгоритм TSEA эмулирует постепенное формирование ороговевших участков кожи, которые представляют собой оптимальные решения задачи. Лучшие решения становятся более "твердыми" и располагаются ближе к внешней поверхности, в то время как менее удачные решения остаются "мягкими" и находятся внутри. Алгоритм использует кластеризацию решений по качеству и расстоянию, позволяя сохранять менее успешные варианты и обеспечивая гибкость и адаптивность.
preview
Популяционные алгоритмы оптимизации: Эволюция социальных групп (Evolution of Social Groups, ESG)

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

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

Перестановка ценовых баров в MQL5

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

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

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

Разработка системы репликации (Часть 32): Система ордеров (I)

Из всего, что было разработано до настоящего момента, данная система, как вы наверняка заметите и со временем согласитесь, - является самым сложным. Сейчас нам нужно сделать нечто очень простое: заставить нашу систему имитировать работу торгового сервера на практике. Эта необходимость точно реализовывать способ моделирования действий торгового сервера кажется простым делом. По крайней мере, на словах. Но нам нужно сделать это так, чтобы для пользователя системы репликации/моделирования всё происходило как можно более незаметно или прозрачно.
preview
Альтернативные показатели риска и доходности в MQL5

Альтернативные показатели риска и доходности в MQL5

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

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

Нам удалось разработать способ осуществления репликации рынка достаточно реалистичным и доступным образом. Теперь давайте продолжим наш проект и добавим данные для улучшения поведения репликации.
preview
Алгоритм кодового замка (Сode Lock Algorithm, CLA)

Алгоритм кодового замка (Сode Lock Algorithm, CLA)

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

Парадигмы программирования (Часть 1): Процедурный подход к разработке советника на основе ценовой динамики

Узнайте о парадигмах программирования и их применении в коде MQL5. В этой статье исследуются особенности процедурного программирования, а также предлагаются практические примеры. Вы узнаете, как разработать советник на основе ценовой динамики (Price Action), используя индикатор EMA и свечные данные. Кроме того, статья знакомит с парадигмой функционального программирования.
Дополнительные требования к статьям для публикации на MQL4.COM
Дополнительные требования к статьям для публикации на MQL4.COM

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

За последние несколько месяцев наш ресурс пополнился большим количеством материалов. Мы благодарны авторам статей, которые ответственно подошли к своей задаче и описали свой опыт в трейдинге и разработке автоматических торговых систем. Основные требования содержатся в статье «Требования к статьям для публикации на MQL4.com». Дополнительные требования сформулированы на основе опыта, накопленного редакторами и переводчиками в ходе работы с вашими статьями в последние месяцы.
preview
Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II)

Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II)

В предыдущей статье мы внесли исправления в некоторые моменты и добавили тесты в нашу систему репликации для обеспечения максимально возможной стабильности. Мы также начали создавать и использовать конфигурационный файл для данной системы.
preview
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL

Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL

В продолжение первой части создадим простую DLL и протестируем ее с помощью MetaTrader 5. Это хорошо подготовит нас к разработке полноценной поддержки OpenCL в виде DLL в следующей части.
preview
Графический интерфейс: советы и рекомендации по созданию графической библиотеки на MQL

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

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

Как разработать агент обучения с подкреплением на MQL5 с интеграцией RestAPI (Часть 3): Создание автоматических ходов и тестовых скриптов на MQL5

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

Гибридизация популяционных алгоритмов. Последовательная и параллельная схема

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

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

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

Алгоритм оптимизации на основе мозгового штурма — Brain Storm Optimization (Часть II): Многомодальность

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

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

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

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

Начнем с прояснения нынешней ситуации, потому что мы начали не самым лучшим образом. Если не сделать этого сейчас, то вскоре мы окажемся в беде.
preview
Разработка системы репликации - Моделирование рынка (Часть 09): Пользовательские события

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

Здесь мы увидим, как активировать пользовательские события и проработать вопрос о том, как индикатор сообщает о состоянии сервиса репликации/моделирования.
preview
Популяционные алгоритмы оптимизации: Гибридный алгоритм оптимизации бактериального поиска с генетическим алгоритмом (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

Популяционные алгоритмы оптимизации: Гибридный алгоритм оптимизации бактериального поиска с генетическим алгоритмом (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

В статье представлен новый подход к решению оптимизационных задач, путём объединения идей алгоритмов оптимизации бактериального поиска пищи (BFO) и приёмов, используемых в генетическом алгоритме (GA), в гибридный алгоритм BFO-GA. Он использует роение бактерий для глобального поиска оптимального решения и генетические операторы для уточнения локальных оптимумов. В отличие от оригинального BFO бактерии теперь могут мутировать и наследовать гены.
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года

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

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

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

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

Разработка системы репликации (Часть 34): Система ордеров (III)

В этой статье мы завершим первый этап конструкции. Несмотря на то, что это выполняется довольно быстро, я расскажу о деталях, которые не обсуждались ранее. Но здесь я объясню некоторые моменты, которые многие не понимают. Например, знаете ли вы, почему вам приходится нажимать клавишу Shift или Ctrl на клавиатуре?
preview
Разработка системы репликации - Моделирование рынка (Часть 08): Блокировка индикатора

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

В этой статье мы рассмотрим, как заблокировать индикатор при простом использовании языка MQL5, и сделаем это очень интересным и удивительным способом.
Материалы Automated Trading Championship: Интервью с Участниками 2006 года
Материалы Automated Trading Championship: Интервью с Участниками 2006 года

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

Интервью с Участниками Automated Trading Championship 2006 показали разнообразие взглядов на автотрейдинг и торговлю в целом. Вы можете сами оценить, какие идеи оказались более работоспособными в ходе Чемипоната, а какие из них не смогли пройти критическую проверку трехмесячным тест-драйвом на конкурсном счете.
preview
Создаем простой мультивалютный советник с использованием MQL5 (Часть 6): Два индикатора RSI пересекают линии друг друга

Создаем простой мультивалютный советник с использованием MQL5 (Часть 6): Два индикатора RSI пересекают линии друг друга

Под мультивалютным советником в этой статье понимается советник, или торговый робот, который использует два индикатора RSI с пересекающимися линиями - быстрый RSI, который пересекается с медленным.
preview
Разработка системы репликации (Часть 37): Прокладываем путь (I)

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

В этой статье мы начнем делать то, что хотелось сделать гораздо раньше. Однако из-за отсутствия "твердой почвы" я не чувствовал себя уверенно, чтобы представить вопрос публично. Теперь у меня есть основа для того, чтобы делать то, что мы начнем сейчас. Неплохо бы максимально сосредоточиться на понимании содержания этой статьи, и я говорю это не для того, чтобы вы просто это прочитали. Я хочу подчеркнуть, что если вы не поймете данную статью, то можете полностью отказаться от надежды понять содержание следующих статей.
preview
Как сделать любой тип Trailing Stop и подключить к советнику

Как сделать любой тип Trailing Stop и подключить к советнику

В статье рассмотрим классы для удобного создания различных трейлингов. Научимся подключать трейлинг-стоп к любому советнику.
preview
Разработка системы репликации (Часть 35): Внесение корректировок (I)

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

Прежде чем мы сможем двигаться дальше, нам нужно исправить несколько моментов. Но это не обязательные исправления, а улучшение в способе управления и использования класса. Причина в том, что сбои происходят из-за какого-то взаимодействия внутри системы. Несмотря на попытки узнать причину некоторых неудач, для их последующего устранения, все эти попытки оказались безуспешными, поскольку некоторые из них не имели смысла. Когда мы используем указатели или рекурсию в C / C++, программа аварийно завершается.
preview
Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

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

Сегодня мы продолжим разработку системы и управления. Без возможности управления сервисом сложно двигаться вперед и совершенствовать систему.
Материалы Automated Trading Championship: Репортажи Чемпионата 2006 года
Материалы Automated Trading Championship: Репортажи Чемпионата 2006 года

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

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

Разметка данных в анализе временных рядов (Часть 4): Декомпозиция интерпретируемости с использованием разметки данных

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

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

Одна из вещей, которая может усложнить нашу жизнь как программистов, - это предположения. В этой статье я покажу вам, как опасно делать предположения: как в части программирования на MQL5, где принимается, что у курса будет определенная величина, так и при использовании MetaTrader 5, где принимается, что разные серверы работают одинаково.
preview
Популяционные алгоритмы оптимизации: Алгоритм птичьего роя (Bird Swarm Algorithm, BSA)

Популяционные алгоритмы оптимизации: Алгоритм птичьего роя (Bird Swarm Algorithm, BSA)

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

Материалы Automated Trading Championship: Регистрация

В данной статье собраны полезные материалы, которые помогут вам узнать больше о процедуре регистрации на Automated Trading Championship.
preview
Разметка данных в анализе временных рядов (Часть 6):Применение и тестирование советника с помощью ONNX

Разметка данных в анализе временных рядов (Часть 6):Применение и тестирование советника с помощью ONNX

В этой серии статей представлены несколько методов разметки временных рядов, которые могут создавать данные, соответствующие большинству моделей искусственного интеллекта (ИИ). Целевая разметка данных может сделать обученную модель ИИ более соответствующей пользовательским целям и задачам, повысить точность модели и даже помочь модели совершить качественный скачок!
preview
Нейросети — это просто (Часть 91): Прогнозирование в частотной области (FreDF)

Нейросети — это просто (Часть 91): Прогнозирование в частотной области (FreDF)

Мы продолжаем рассмотрение темы анализ и прогнозирования временных рядов в частотной области. И в данной статье мы познакомимся с новым методом прогнозирования в частотной области, который может быть добавлен к многим, изученным нами ранее, алгоритмам.
preview
Алгоритм кометного следа (Comet Tail Algorithm, CTA)

Алгоритм кометного следа (Comet Tail Algorithm, CTA)

В данной статье мы рассмотрим новый авторский алгоритм оптимизации CTA (Comet Tail Algorithm), который черпает вдохновение из уникальных космических объектов - комет и их впечатляющих хвостов, формирующихся при приближении к Солнцу. Данный алгоритм основан на концепции движения комет и их хвостов, и предназначен для поиска оптимальных решений в задачах оптимизации.