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

icon

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

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

Новая статья
последние | лучшие
preview
DoEasy. Элементы управления (Часть 33): вертикальный "ScrollBar"

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

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

Нейросети — это просто (Часть 87): Сегментация временных рядов

Прогнозирование играет важную роль в анализе временных рядов. В новой статье мы поговорим о преимуществах сегментации временных рядов.
preview
Шаблоны проектирования в MQL5 (Часть 2): Структурные шаблоны

Шаблоны проектирования в MQL5 (Часть 2): Структурные шаблоны

В этой статье мы продолжим изучать шаблоны проектирования, которые позволяют разработчикам создавать расширяемые и надежные приложений не только на MQL5, но и на других языках программирования. В этот раз мы поговорим о другом типе — о структурных шаблонах. Будем учиться проектировать системы, используя имеющиеся классы для формирования более крупных структур.
Дополнительные требования к статьям для публикации на MQL4.COM
Дополнительные требования к статьям для публикации на MQL4.COM

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

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

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

В продолжение первой части создадим простую DLL и протестируем ее с помощью MetaTrader 5. Это хорошо подготовит нас к разработке полноценной поддержки OpenCL в виде DLL в следующей части.
preview
Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II)

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

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

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

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

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

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

Шаблоны проектирования в программировании на MQL5 (Часть 3): Поведенческие шаблоны 1

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

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

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

Популяционные алгоритмы оптимизации: Устойчивость к застреванию в локальных экстремумах (Часть II)

Продолжение эксперимента, цель которого - исследовать поведение популяционных алгоритмов оптимизации в контексте их способности эффективно покидать локальные минимумы при низком разнообразии в популяции и достигать глобальных максимумов. Результаты исследования.
preview
Разработка системы репликации - Моделирование рынка (Часть 24): FOREX (V)

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

Сегодня мы снимем ограничение, которое препятствовало выполнению моделирований, основанных на построении LAST, и введем новую точку входа специально для этого типа моделирования. Обратите внимание на то, что весь механизм работы будет основан на принципах валютного рынка. Основное различие в данной процедуре заключается в разделении моделирований BID и LAST. Однако важно отметить, что методология, используемая при рандомизации времени и его корректировке для совместимости с классом C_Replay, остается идентичной в обоих видах моделирования. Это хорошо, поскольку изменения в одном режиме приводят к автоматическим улучшениям в другом, особенно если это касается обработки времени между тиками.
preview
Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 2)

Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 2)

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

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

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

Реализация расширенного теста Дики-Фуллера в MQL5

В статье показаны реализация расширенного теста Дики-Фуллера и его применение для проведения коинтеграционных тестов с использованием метода Энгла-Грейнджера.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 08): Перцептроны

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

Перцептроны, сети с одним скрытым слоем, могут стать хорошим подспорьем для тех, кто знаком с основами автоматической торговли и хочет окунуться в нейронные сети. Мы шаг за шагом рассмотрим, как их можно реализовать в сборке классов сигналов, которая является частью классов Мастера MQL5 для советников.
preview
Популяционные алгоритмы оптимизации: Искусственные мультисоциальные поисковые объекты (artificial Multi-Social search Objects, MSO)

Популяционные алгоритмы оптимизации: Искусственные мультисоциальные поисковые объекты (artificial Multi-Social search Objects, MSO)

Продолжение предыдущей статьи как развитие идеи социальных групп. В новой статье исследуется эволюция социальных групп с использованием алгоритмов перемещения и памяти. Результаты помогут понять эволюцию социальных систем и применить их в оптимизации и поиске решений.
Материалы 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
Гибридизация популяционных алгоритмов. Последовательная и параллельная схема

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

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

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

Классификация данных для анализа и прогнозирования — очень разнообразная область машинного обучения с большим количеством подходов и методов. В этой статье рассматривается один из таких подходов, а именно агломеративная иерархическая классификация (Agglomerative Hierarchical Classification).
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года

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

В данной теме представлены Еженедельные Репортажи Чемпионата 2007 года. Эти материалы являются моментальными снимками, которые интересно читать не только в ходе самих соревнований, но и спустя годы.
preview
Популяционные алгоритмы оптимизации: Гибридный алгоритм оптимизации бактериального поиска с генетическим алгоритмом (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

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

В статье представлен новый подход к решению оптимизационных задач, путём объединения идей алгоритмов оптимизации бактериального поиска пищи (BFO) и приёмов, используемых в генетическом алгоритме (GA), в гибридный алгоритм BFO-GA. Он использует роение бактерий для глобального поиска оптимального решения и генетические операторы для уточнения локальных оптимумов. В отличие от оригинального BFO бактерии теперь могут мутировать и наследовать гены.
preview
Пишем первую модель стеклянного ящика (Glass Box) на Python и MQL5

Пишем первую модель стеклянного ящика (Glass Box) на Python и MQL5

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

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

В этой статье мы рассмотрим, как заблокировать индикатор при простом использовании языка MQL5, и сделаем это очень интересным и удивительным способом.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 09): Сочетание кластеризации k-средних с фрактальными волнами

Возможности Мастера MQL5, которые вам нужно знать (Часть 09): Сочетание кластеризации k-средних с фрактальными волнами

Кластеризация k-средних использует подход к группировке точек данных в виде процесса, изначально фокусирующегося на макропредставлении набора данных, в котором применяются случайно сгенерированные центроиды кластера. Затем эти центроиды масштабируются и настраиваются для точного представления набора данных. В статье рассматриваются кластеризация и несколько вариантов ее использования.
Материалы Automated Trading Championship: Интервью с Участниками 2006 года
Материалы Automated Trading Championship: Интервью с Участниками 2006 года

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

Интервью с Участниками Automated Trading Championship 2006 показали разнообразие взглядов на автотрейдинг и торговлю в целом. Вы можете сами оценить, какие идеи оказались более работоспособными в ходе Чемипоната, а какие из них не смогли пройти критическую проверку трехмесячным тест-драйвом на конкурсном счете.
preview
Алгоритм эволюции панциря черепахи (Turtle Shell Evolution Algorithm, TSEA)

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

Уникальный алгоритм оптимизации, вдохновленный эволюцией панциря черепахи. Алгоритм TSEA эмулирует постепенное формирование ороговевших участков кожи, которые представляют собой оптимальные решения задачи. Лучшие решения становятся более "твердыми" и располагаются ближе к внешней поверхности, в то время как менее удачные решения остаются "мягкими" и находятся внутри. Алгоритм использует кластеризацию решений по качеству и расстоянию, позволяя сохранять менее успешные варианты и обеспечивая гибкость и адаптивность.
preview
Алгоритмическая торговля с MetaTrader 5 и R для начинающих

Алгоритмическая торговля с MetaTrader 5 и R для начинающих

В статье мы объединим финансовый анализ с алгоритмической торговлей, а также посмотрим, как можно подружить R и MetaTrader 5. Эта статья — руководство по объединению аналитической гибкости R с огромными торговыми возможностями MetaTrader 5.
preview
Теория категорий в MQL5 (Часть 21): Естественные преобразования с помощью LDA

Теория категорий в MQL5 (Часть 21): Естественные преобразования с помощью LDA

Эта статья, 21-я в нашей серии, продолжает рассмотрение естественных преобразований и того, как их можно реализовать с помощью линейного дискриминантного анализа. Как и в предыдущей статье, реализация представлена в формате класса сигнала.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 2): Пример развертывания среды

Добавляем пользовательскую LLM в торгового робота (Часть 2): Пример развертывания среды

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

Нестационарные процессы и ложная регрессия

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

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

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

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

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

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

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

Разработка и тестирование торговых систем Aroon

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

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

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

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

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

Интерпретация моделей: Более глубокое понимание моделей машинного обучения

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