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

icon

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

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

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

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

Рыночные правила постоянно развиваются, а многие некогда надежные принципы постепенно теряют свою эффективность. То, что работало в прошлом, с течением времени больше не работает стабильно. Сегодняшнее обсуждение сосредоточено на диапазонах вероятностей и на том, как их можно использовать для навигации по рыночным нерегулярностям. Мы будем использовать MQL5 для разработки алгоритма, способного эффективно торговать даже в самых нестабильных рыночных условиях. Присоединяйтесь к этой дискуссии, чтобы узнать больше.
preview
Алгоритм успешного ресторатора —  Successful Restaurateur Algorithm (SRA)

Алгоритм успешного ресторатора — Successful Restaurateur Algorithm (SRA)

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

От начального до среднего уровня: Оператор FOR

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

Нейросети в трейдинге: Интеграция теории хаоса в прогнозирование временных рядов (Окончание)

Продолжаем интеграцию методов, предложенных авторами фреймворка Attraos, в торговые модели. Напомню, что данный фреймворк использует концепции теории хаоса для решения задач прогнозирования временных рядов, интерпретируя их как проекции многомерных хаотических динамических систем.
preview
Алгоритм обратного поиска — Backtracking Search Algorithm (BSA)

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

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

Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA)

Усовершенствованный алгоритм хаотической оптимизации (COA), объединяющий воздействие хаоса с адаптивными механизмами поиска. Алгоритм использует множество хаотических отображений и инерционные компоненты для исследования пространства поиска. Статья раскрывает теоретические основы хаотических методов финансовой оптимизации.
preview
Определение справедливых курсов валют по ППС с помощью данных МВФ

Определение справедливых курсов валют по ППС с помощью данных МВФ

Создание системы анализа валютных курсов на основе паритета покупательной способности (ППС) на Python. Автор разработал алгоритм с 5 методами расчета справедливых курсов, используя данные МВФ. Практическое руководство по фундаментальному анализу валют, обработке экономических данных и интеграции с торговыми системами. Полный код в open source.
preview
От начального до среднего уровня: Переменные (II)

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

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

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

Осциллятор Awesome — еще один индикатор Билла Вильямса, используемый для измерения импульса. Он может генерировать несколько сигналов. Как и в предыдущих статьях, мы рассмотрим его на основе паттернов, используя классы и сборку Мастера MQL5.
preview
Нейросети в трейдинге: От трансформеров к спайковым нейронам (Окончание)

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

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

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

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

Нейросети в трейдинге: Адаптивная периодическая сегментация (LightGTS)

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

Нейросети в трейдинге: Декомпозиция вместо масштабирования (Окончание)

Предлагаем познакомиться с алгоритмом разложения временного ряда на смысловые слои и построения из них экономной модели. Мы последовательно показываем архитектуру, практическую реализацию на MQL5/OpenCL и реальные тесты на исторических рыночных данных.
preview
Торговля LLM-агента со встроенной философией топ-трейдеров

Торговля LLM-агента со встроенной философией топ-трейдеров

В работе проведен критический разбор LLM-стратегии, где прогноз направления отделен от торговых решений, и показано, почему это ведет к разрыву между метриками и PnL. Описаны процедуры балансировки датасета, инженерии признаков, подготовки промптов и ответов, настройки файнтюнинга в Ollama и надежного парсинга. Бэктест и форвард-тест выявляют систематическую деградацию. Практический вывод — необходимость формулировать задачу как прямую оптимизацию торговых исходов.
preview
Детерминированный осциллирующий поиск — Deterministic Oscillatory Search (DOS)

Детерминированный осциллирующий поиск — Deterministic Oscillatory Search (DOS)

Алгоритм Deterministic Oscillatory Search (DOS) — инновационный метод глобальной оптимизации, сочетающий преимущества градиентных и роевых алгоритмов без использования случайных чисел. Механизм осцилляций и наклонов фитнеса позволяет DOS исследовать сложные пространства поиска детерминированным методом.
preview
От начального до среднего уровня: Шаблон и Typename (IV)

От начального до среднего уровня: Шаблон и Typename (IV)

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

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

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

Код, слёзы и Algo Forge

В статье рассматривается переход на MQL5 Algo Forge как современный и удобный формат публикации программного кода и вложений к статьям. Использование репозиториев вместо классических ZIP-архивов и исходных кодов позволяет поддерживать проекты в актуальном состоянии, оперативно вносить правки и профессионально взаимодействовать с аудиторией. Приводятся рекомендации по быстрой миграции наработок в облачную среду через интерфейс MetaEditor.
preview
Алгоритм дендритных клеток — Dendritic Cell Algorithm (DCA)

Алгоритм дендритных клеток — Dendritic Cell Algorithm (DCA)

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

Интеграция MQL5 с пакетами обработки данных (Часть 2): Машинное обучение и предиктивная аналитика

В нашей серии статей об интеграции MQL5 с пакетами обработки данных мы подробно рассматриваем мощное сочетание машинного обучения и предиктивного анализа. Мы изучим, как беспрепятственно объединить MQL5 с популярными библиотеками машинного обучения, чтобы создавать сложные прогностические модели финансовых рынков.
preview
Оптимизация атмосферными облаками — Atmosphere Clouds Model Optimization (ACMO): Теория

Оптимизация атмосферными облаками — Atmosphere Clouds Model Optimization (ACMO): Теория

Статья посвящена метаэвристическому алгоритму Atmosphere Clouds Model Optimization (ACMO), который моделирует поведение облаков для решения задач оптимизации. Алгоритм использует принципы генерации, движения и распространения облаков, адаптируясь к "погодным условиям" в пространстве решений. Статья раскрывает, как метеорологическая симуляция алгоритма находит оптимальные решения в сложном пространстве возможностей и подробно описывает этапы работы ACMO, включая подготовку "неба", рождение облаков, их перемещение и концентрацию дождя.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (VIII) — Кнопки быстрой торговли на новостях

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (VIII) — Кнопки быстрой торговли на новостях

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

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

Интеграция обеспечивает бесперебойный рабочий процесс, при котором необработанные финансовые данные из MQL5 можно импортировать в пакеты обработки данных, такие как Jupyter Lab, для расширенного анализа, включая статистическое тестирование.
preview
От сигнала к сделке через цепочку агентов: LangChain-архитектура поверх MQL5

От сигнала к сделке через цепочку агентов: LangChain-архитектура поверх MQL5

Описана архитектура, в которой MQL5-советник выполняет только сбор данных и исполнение, а логика вынесена в Python-сервер с тремя агентами LangChain: сигнальным, новостным и риск-менеджером. Агенты последовательно обрабатывают запрос по WebSocket, при отказе любого возвращается hold. Решения и фактический PnL сохраняются в SQLite, формируя память и статистику. Читатель получит схему взаимодействия, протокол команд и подход к обратной связи.
preview
От начального до среднего уровня: Массивы и строки (II)

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

В этой статье я покажу, что хотя мы всё еще находимся на очень базовой стадии программирования, мы уже можем реализовать несколько интересных приложений. В данном случае мы создадим довольно простой генератор паролей. Таким образом мы сможем применить некоторые концепции, которые объяснялись до этого. Кроме того, мы рассмотрим, как можно разработать решения для некоторых конкретных проблем.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (VI) — Стратегия пост-новостной торговли

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

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

Стратегия орла — Eagle Strategy (ES)

Eagle Strategy — алгоритм, имитирующий двухфазную охотничью стратегию орла: глобальный поиск через полеты Леви методом Мантенья, чередуется с интенсивной локальной эксплуатацией светлячкового алгоритма, математически обоснованный подход к балансу между исследованием и эксплуатацией, а также биоинспирированная концепция, объединяющая два природных феномена в единый вычислительный метод.
preview
Нейросети в трейдинге: Возмущённые модели пространства состояний для анализа рыночной динамики (модуль E-TROF)

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

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

Как создать и адаптировать RL-агент с LLM и квантовым кодированием в алгоритмическом трейдинге на MQL5

В статье предложен гибридный подход к алгоритмическому трейдингу на основе квантового кодирования рыночных состояний, Double DQN с приоритетным буфером опыта и LLM в роли контекстного советника. Методология SEAL обеспечивает асинхронное дообучение агента без остановки торговли. Легковесный Q-learning фильтр (USE/SKIP/REDUCE) управляет исполнением сигналов на мета-уровне. Приводятся практические детали интеграции системы с торговой платформой MetaTrader 5 и схемы её адаптации к режимным сдвигам рынка.
preview
Алгоритм голубых обезьян — Blue Monkey (BM) Algorithm

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

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

От начального до среднего уровня: Определения (I)

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

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

Регуляризация — это форма штрафования функции потерь пропорционально дискретному весу, применяемому ко всем слоям нейронной сети. Мы оценим значимость некоторых форм регуляризации, протестировав советник, собранный в Мастере.
preview
От начального до среднего уровня: Индикатор (II)

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

В этой статье мы рассмотрим, как реализовать расчет скользящей средней и какие меры предосторожности следует предпринять при выполнении данного расчета. Мы также поговорим о перегрузке функции OnCalculate, чтобы знать, когда и как работать с той или иной моделью.
preview
Разработка инструментария для анализа движения цен (Часть 14): Parabolic Stop and Reverse

Разработка инструментария для анализа движения цен (Часть 14): Parabolic Stop and Reverse

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

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

Parabolic Stop-and-Reversal (SAR) - это индикатор точек подтверждения и окончания тренда. Поскольку он отстает в определении трендов, его основной целью было позиционирование скользящих стоп-лоссов по открытым позициям. Мы рассмотрим, можно ли его использовать в качестве сигнала советника с помощью пользовательских классов сигналов советников, собранных с помощью Мастера.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 45): Обучение с подкреплением с помощью метода Монте-Карло

Возможности Мастера MQL5, которые вам нужно знать (Часть 45): Обучение с подкреплением с помощью метода Монте-Карло

Монте-Карло — четвертый алгоритм обучения с подкреплением, который мы рассматриваем в контексте его реализации в советниках, собранных с помощью Мастера. Хотя алгоритм основан на случайной выборке, он предоставляет обширные возможности моделирования.
preview
Разработка системы репликации (Часть 45): Проект Chart Trade (IV)

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

Главное в этой статье — представление и объяснение класса C_ChartFloatingRAD. У нас есть индикатор Chart Trade, который работает довольно интересным образом. Как вы могли заметить, у нас на графике все еще достаточно небольшое количество объектов, и тем не менее, мы получили ожидаемое функционирование. Значения, присутствующие в индикаторе, можно редактировать. Вопрос в том, как это возможно? В этой статье все начнет проясняться.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 53): Market Facilitation Index

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

Market Facilitation Index (индекс облегчения рынка) — еще один индикатор Билла Вильямса, предназначенный для измерения эффективности движения цен в сочетании с объемом. Как всегда, мы рассматриваем различные паттерны этого индикатора в рамках класса сигналов Мастера и представляем ряд отчетов по тестам и результаты анализа различных паттернов.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 34): Эмбеддинг цены с нетрадиционной RBM

Возможности Мастера MQL5, которые вам нужно знать (Часть 34): Эмбеддинг цены с нетрадиционной RBM

Ограниченные машины Больцмана (Restricted Boltzmann Machines, RBM) — форма нейронной сети, разработанная в середине 1980-х годов, когда вычислительные ресурсы были непомерно дорогими. Вначале она опиралась на выборку Гиббса (Gibbs Sampling) и контрастивную дивергенцию (Contrastive Divergence) с целью уменьшения размерности или выявления скрытых вероятностей/свойств во входных обучающих наборах данных. Мы рассмотрим, как обратное распространение ошибки (backpropagation) может работать аналогичным образом, когда RBM "встраивает" (embeds) цены в прогнозирующий многослойный перцептрон.
preview
Алгоритм конкурентного обучения — Competitive Learning Algorithm (CLA)

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

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