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

icon

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

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

Новая статья
последние | лучшие
preview
От новичка до эксперта: Ориентирование в непредсказуемой стихии рынка

От новичка до эксперта: Ориентирование в непредсказуемой стихии рынка

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

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

В этой статье мы рассмотрим важную тему, которую мало кто понимает: Пользовательские события. Опасности. Преимущества и ошибки, вызванные такими элементами. Данная тема является ключевой для тех, кто хочет стать профессиональным программистом на MQL5 или любом другом языке. Поэтому мы сосредоточимся на MQL5 и MetaTrader 5.
preview
Инженерия признаков с Python и MQL5 (Часть III): Угол наклона цены (2) Полярные координаты

Инженерия признаков с Python и MQL5 (Часть III): Угол наклона цены (2) Полярные координаты

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

Алгоритм эхолокации дельфинов — Dolphin Echolocation Algorithm (DEA)

В этой статье мы подробно рассмотрим алгоритм DEA — метаэвристический метод оптимизации, вдохновленный уникальной способностью дельфинов находить добычу с помощью эхолокации. От математических основ до практической реализации на MQL5, от анализа до сравнения с классическими алгоритмами — детально разберем, почему этот относительно молодой метод заслуживает места в арсенале тех, кто сталкивается с задачами оптимизации.
preview
Алгоритм обратного поиска — Backtracking Search Algorithm (BSA)

Алгоритм обратного поиска — Backtracking Search Algorithm (BSA)

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

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

Сегодня мы продолжим работу над тем, чтобы заставить указатель мыши сообщать нам об оставшемся времени бара в периоды низкой ликвидности. Хотя на первый взгляд кажется, что всё просто, на самом деле эта задача гораздо сложнее. Это связано с некоторыми препятствиями, которые нам придется преодолеть. Поэтому важно, чтобы вы хорошо усвоили материал из первой части данной серии, чтобы понять следующие части.
preview
Моделирование рынка (Часть 07): Сокеты (I)

Моделирование рынка (Часть 07): Сокеты (I)

Сокеты. Знаете ли вы, для чего они нужны или как их использовать в MetaTrader 5? Если ответ отрицательный, давайте начнем с их изучения. В сегодняшней статье рассмотрим основы. Но поскольку существует несколько способов сделать то же самое, а нас всегда интересует результат, я хочу показать, что в самом деле существует простой способ передачи данных из MetaTrader 5 в другие программы, такие как, например, Excel. Однако основная идея заключается не в том, чтобы перенести данные из MetaTrader 5 в Excel, а в обратном, то есть в переносе данных из Excel или любой другой программы в MetaTrader 5.
preview
Оптимизация сообществом ученых — Community of Scientist Optimization (CoSO): Практика

Оптимизация сообществом ученых — Community of Scientist Optimization (CoSO): Практика

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

Нейросети в трейдинге: От трансформеров к спайковым нейронам (SpikingBrain)

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 28): Сети GAN в контексте темпа обучения

Темп обучения — это размер шага к цели обучения во многих алгоритмах машинного обучения. В статье мы изучим, какое влияние многочисленные форматы могут оказать на производительность генеративно-состязательной сети (Generative Adversarial Network, GAN) — разновидности нейронной сети, которую мы рассмотрели в одной из предыдущих статей.
preview
Нейросети в трейдинге: Декомпозиция вместо масштабирования — Построение модулей

Нейросети в трейдинге: Декомпозиция вместо масштабирования — Построение модулей

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

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (III) — Анализ индикаторов

В настоящей статье продолжим рассказ о советнике «Заголовки новостей», представив специальную полосу «Анализ индикаторов» (indicator insights) — компактное отображение на графике ключевых технических сигналов, генерируемых популярными индикаторами, такими как RSI, MACD, Stochastic и CCI. Такой подход устраняет необходимость в нескольких подокнах индикаторов в терминале MetaTrader 5, сохраняя ваше рабочее пространство чистым и эффективным. Используя MQL5 API для доступа к данным индикаторов в фоновом режиме, мы можем обрабатывать и визуализировать рыночную информацию в режиме реального времени с помощью пользовательской логики.
preview
Разложение по динамическим модам в применении к одномерным временным рядам в языке MQL5

Разложение по динамическим модам в применении к одномерным временным рядам в языке MQL5

Разложение по динамическим модам (Dynamic mode decomposition, DMD) — метод, который обычно применяют к наборам многомерных данных. В этой статье мы демонстрируем применение DMD на одномерных временных рядах, выявляя его способность характеризовать ряды, а также делать прогнозы. При этом рассмотрим встроенную в MQL5 реализацию разложения по динамическим модам, уделяя особое внимание новому матричному методу DynamicModeDecomposition().
preview
Алгоритм голубых обезьян — Blue Monkey (BM) Algorithm

Алгоритм голубых обезьян — Blue Monkey (BM) Algorithm

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

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

В данной статье мы создаем советник на MQL5 для стратегии прорыва азиатской сессии, вычисляя максимумы и минимумы сессии и применяя фильтрацию трендов с помощью скользящей средней. Реализуем динамический дизайн объектов, определяемые пользователем входные временные параметры и надежное управление рисками. Наконец, продемонстрируем методы тестирования на истории и оптимизации для доработки программы.
preview
От начального до среднего уровня: Struct (II)

От начального до среднего уровня: Struct (II)

В данной статье мы попытаемся разобраться в том, почему структуры были созданы на таких языках программирования, как MQL5, а также почему в некоторых случаях структуры являются идеальным способом передачи значений между функциями и процедурами, а в других случаях они могут быть не самым лучшим способом сделать это.
preview
Алгоритм поиска по кругу — Circle Search Algorithm (CSA)

Алгоритм поиска по кругу — Circle Search Algorithm (CSA)

В статье представлен новый метаэвристический алгоритм оптимизации CSA (Circle Search Algorithm), основанный на геометрических свойствах окружности. Алгоритм использует принцип движения точек по касательным для поиска оптимального решения, сочетая фазы глобального исследования и локальной эксплуатации.
preview
Разработка системы репликации (Часть 54): Появление первого модуля

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

В этой статье мы рассмотрим, как собрать первый из действительно функциональных модулей для использования в системе репликации/моделирования, который также будет иметь общее назначение, чтобы служить и другим целям. Мы говорим о модуле индикатора мыши.
preview
Выборочные методы MCMC — Алгоритм Метрополиса-Гастингса

Выборочные методы MCMC — Алгоритм Метрополиса-Гастингса

Алгоритм Метрополиса-Гастингса — фундаментальный метод Монте-Карло по схеме марковских цепей (MCMC), широко применяемый для аппроксимации апостериорных распределений в байесовском выводе. Статья описывает теоретические основы алгоритма, реализацию класса MHSampler на MQL5 и примеры применения с анализом полученных выборок.
preview
Разработка системы репликации (Часть 46): Проект Chart Trade (V)

Разработка системы репликации (Часть 46): Проект Chart Trade (V)

Устали тратить время на поиск того самого файла, который необходим для работы вашего приложения? Как насчет того, чтобы включить все в исполняемый файл? Так вы больше не будете тратить время на поиск необходимого. Знаю, что многие пользуются именно такой формой распространения и хранения вещей, но есть гораздо более подходящий способ. По крайней мере, что касается распространения исполняемых файлов и их хранения. Метод, который будет здесь представлен, может оказаться очень полезным, так как в качестве отличного помощника вы сможете использовать сам MetaTrader 5, а также MQL5. И это не так уж трудно и сложно для понимания.
preview
Оптимизация портфеля на языках Python и MQL5

Оптимизация портфеля на языках Python и MQL5

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

Переосмысливаем классические стратегии в MQL5 (Часть III): Прогнозирование индекса FTSE 100

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

Методы повторной выборки для оценки прогнозирования и классификации в MQL5

В этой статье рассмотрим и реализуем методы оценки качества модели, которые используют один и тот же набор данных как для обучения, так и для проверки.
preview
Алгоритм конкурентного обучения — Competitive Learning Algorithm (CLA)

Алгоритм конкурентного обучения — Competitive Learning Algorithm (CLA)

В статье представлен алгоритм конкурентного обучения (Competitive Learning Algorithm, CLA) — новый метаэвристический метод оптимизации, основанный на моделировании образовательного процесса. Алгоритм организует популяцию решений в виде классов со студентами и учителями, где агенты обучаются через три механизма: следование за лучшим в классе, использование личного опыта и обмен знаниями между классами.
preview
Знакомство с языком MQL5 (Часть 20): Введение в гармонические паттерны

Знакомство с языком MQL5 (Часть 20): Введение в гармонические паттерны

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

Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (Окончание)

В статье представлен практический опыт внедрения фреймворка STFlow в торговую систему. Показано, как параллельная обработка ICE-признаков и потока событий, сочетание motion-энкодера и адаптивной фьюжн-агрегации позволяют модели самостоятельно анализировать рынок и принимать решения в реальном времени. Результаты тестирования на исторических данных демонстрируют положительное математическое ожидание и способность к адаптации в меняющихся рыночных условиях.
preview
Оптимизация хаотичной игрой — Chaos Game Optimization (CGO)

Оптимизация хаотичной игрой — Chaos Game Optimization (CGO)

Представляем новый метаэвристический алгоритм Chaos Game Optimization (CGO), демонстрирующий уникальную способность сохранять высокую эффективность при работе с задачами большой размерности. В отличие от большинства оптимизационных алгоритмов, CGO не только не теряет, но иногда даже увеличивает производительность при масштабировании задачи, что является его ключевой особенностью.
preview
Алгоритм Поиска Ворона — Crow Search Algorithm (CSA)

Алгоритм Поиска Ворона — Crow Search Algorithm (CSA)

Алгоритм Поиска Ворона (CSA) — это элегантная метаэвристика, вдохновленная умением ворон прятать пищу и находить чужие тайники, которая решает задачи оптимизации через баланс между следованием за успешными решениями и случайным исследованием пространства поиска. Выясним, насколько алгоритм производителен.
preview
HTTP и Connexus (Часть 2): Понимание архитектуры HTTP и дизайна библиотеки

HTTP и Connexus (Часть 2): Понимание архитектуры HTTP и дизайна библиотеки

В настоящей статье рассматриваются основы протокола HTTP, описываются основные методы (GET, POST, PUT, DELETE), коды состояния, а также структура URL-адресов. Кроме того, в ней представлено начало создания библиотеки Connexus с классами CQueryParam и CURL, облегчающими манипулирование URL-адресами и параметрами запросов в HTTP-запросах.
preview
Применение ансамблевых методов для задач классификации на языке MQL5

Применение ансамблевых методов для задач классификации на языке MQL5

В данной статье мы представляем реализацию нескольких ансамблевых классификаторов на языке MQL5 и рассматриваем их эффективность в различных ситуациях.
preview
Нейросети в трейдинге: Единый взгляд на пространство и время (Global-Local Attention)

Нейросети в трейдинге: Единый взгляд на пространство и время (Global-Local Attention)

Продолжаем работу по реализации подходов, предложенных авторами фреймворка Extralonger. На этот раз сосредоточимся на построении модуля Global-Local Spatial Attention средствами MQL5, рассматривая как его структуру, так и практическую интеграцию в общий вычислительный процесс.
preview
От начального до среднего уровня: Рекурсия

От начального до среднего уровня: Рекурсия

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

Введение в MQL5 (Часть 12): Руководство для начинающих по созданию пользовательских индикаторов

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

Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (Окончание)

S3CE-Net в нашей интерпретации ловко переводит рынок в язык событий и фиксирует ранние импульсы, которые традиционные индикаторы просто усредняют. STFS гарантирует устойчивость обучения — модель видит данные под разными углами и не переобучается на локальных аномалиях. SSAM-блоки и OpenCL-реализация дают практическую скорость и точность, а разделение режимов обучение/эксплуатация сохраняет ресурсы в продакшене.
preview
Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (Основные модули)

Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (Основные модули)

В этой статье продолжается практическая реализация фреймворка STFlow. Показано, как идеи пространственно-временной агрегации и кросс-модальной обработки превращаются в рабочие спайковые модули для анализа рынка.
preview
Управление рисками (Часть 5): Интегрируем систему управления рисками в советник

Управление рисками (Часть 5): Интегрируем систему управления рисками в советник

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

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

Возможно, эта статья окажется самой запутанной для начинающих программистов. Ведь здесь я покажу, что не всегда в одном и том же коде все функции и процедуры имеют уникальные имена. Да, мы вполне можем использовать функции и процедуры с одинаковым именем — и это называется перегрузкой.
preview
От начального до среднего уровня: Операторы WHILE и DO WHILE

От начального до среднего уровня: Операторы WHILE и DO WHILE

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

Переосмысливаем классические стратегии (Часть VIII): Валютные рынки и драгоценные металлы в валютной паре USDCAD

В данной серии статей мы вновь рассматриваем хорошо известные стратегии, чтобы выяснить, можно ли улучшить их с помощью ИИ. Присоединяйтесь к нам в сегодняшней дискуссии, и мы проверим, существует ли надежная взаимосвязь между драгоценными металлами и валютами.
preview
Интеграция Discord с MetaTrader 5: Создание торгового бота с уведомлениями в реальном времени

Интеграция Discord с MetaTrader 5: Создание торгового бота с уведомлениями в реальном времени

В этой статье мы рассмотрим, как интегрировать MetaTrader 5 и сервер Discord, чтобы получать торговые уведомления в реальном времени из любой точки мира. Мы узнаем, как настроить платформу и Discord, чтобы обеспечить отправку оповещений в Discord, а также поговорим о проблемах безопасности, возникающих в связи с использованием WebRequest и вебхуков для таких способов оповещения.