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

icon

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

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

Новая статья
последние | лучшие
preview
Создаем индикатор канал Кельтнера с помощью пользовательской графики Canvas на MQL5

Создаем индикатор канал Кельтнера с помощью пользовательской графики Canvas на MQL5

В настоящей статье мы создаем индикатор канал Кельтнера с помощью пользовательской графики Canvas на MQL5. Мы подробно описываем интеграцию скользящих средних, расчеты ATR, а также улучшенную визуализацию графиков. Мы также расскажем о тестировании на истории, чтобы оценить эффективность индикатора и получить практическую информацию о трейдинге.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (III) – Настройка адаптера

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

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

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

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

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

В статье описана практическая реализация фреймворка HimNet на базе MQL5, который готов к интеграции в автоматическую торговлю. Мы показываем, как метапараметры, адаптированные под гетерогенность, превращают модель в универсальный инструмент, способный справляться с изменчивой волатильностью.
preview
Разработка системы репликации (Часть 42): Проект Chart Trade (I)

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

Давайте создадим что-нибудь поинтереснее. Не хочу портить сюрприз, поэтому следите за статьей, чтобы лучше понять. С самого начала этой серии о разработке системы репликации/моделирования, я говорил, что идея состоит в том, чтобы использовать платформу MetaTrader 5 одинаково как в разрабатываемой нами системе, так и на реальном рынке. Важно, чтобы это было сделано должным образом. Никто не хочет тренироваться и учиться сражаться, используя одни инструменты, в то время как во время боя ему придется пользоваться другими.
preview
От начального до среднего уровня: Оператор SWITCH

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

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

Как опередить любой рынок (Часть III): Индекс расходов Visa

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

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

Регрессия опорных векторов — это идеалистический способ поиска функции или "гиперплоскости" (hyper-plane), который наилучшим образом описывает взаимосвязь между двумя наборами данных. Мы попытаемся использовать его при прогнозировании временных рядов в пользовательских классах Мастера MQL5.
preview
Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)

Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)

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

Нейросети в трейдинге: Двусторонняя адаптивная временная корреляция (BAT)

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

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

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

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

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

Нейросети в трейдинге: Пространственно-временная модель состояния для анализа финансовых данных (Окончание)

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

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

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

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

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

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

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

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

В данной статье мы изучим последний простой случай использования шаблонов, а также поговорим о пользе и необходимости использования typename в коде. Хотя поначалу данная статья может показаться несколько сложной, необходимо правильно ее понять, чтобы в дальнейшем использовать шаблоны и typename.
preview
Разработка инструментария для анализа движения цен (Часть 4): Советник Analytics Forecaster

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

Мы выходим за рамки простого просмотра проанализированных показателей на графиках и переходим к более широкой перспективе, которая включает интеграцию с Telegram. Это позволит отправлять важные результаты непосредственно на мобильное устройство через Telegram.
preview
Экстремальная оптимизация — Extremal Optimization (EO)

Экстремальная оптимизация — Extremal Optimization (EO)

В данной статье рассматривается алгоритм Extremal Optimization (EO) — метод оптимизации, вдохновленный моделью самоорганизованной критичности Бака-Снеппена, где эволюция происходит через устранение наихудших компонентов системы. Модифицированная популяционная версия алгоритма демонстрирует отход от теоретических принципов в пользу практической эффективности, что приводит к созданию мощных вычислительных инструментов.
preview
Оптимизация и тонкая настройка исходного кода для улучшения результатов тестирования на истории

Оптимизация и тонкая настройка исходного кода для улучшения результатов тестирования на истории

Улучшите свой код MQL5, оптимизировав логику, улучшив вычисления и сократив время выполнения, чтобы повысить точность тестирования на истории. Проведите тонкую настройку параметров, оптимизацию циклов и устранение неэффективности для улучшения результата.
preview
Алгоритм оптимизации сновидениями — Dream Optimization Algorithm (DOA)

Алгоритм оптимизации сновидениями — Dream Optimization Algorithm (DOA)

Популяционный алгоритм оптимизации, вдохновленный спорным и малоизученным феноменом — механизмом человеческих сновидений. Группы агентов с разной "памятью", косинусоидальная модуляция движения и необычное распределение фаз 99/1 — узнайте, как эти особенности влияют на эффективность оптимизации ваших торговых стратегий.
preview
Переходим на MQL5 Algo Forge (Часть 2): Работа с несколькими репозиториями

Переходим на MQL5 Algo Forge (Часть 2): Работа с несколькими репозиториями

Рассмотрим один из возможных подходов к организации хранения исходного кода проекта в публичном репозитории. Используя распределение по различным веткам, создадим удобные и понятные правила для развития проекта.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (I)

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

Доступность новостей является критическим фактором при торговле в терминале MetaTrader 5. Несмотря на наличие множества новостных API, многие трейдеры сталкиваются с трудностями доступа к ним и их эффективной интеграции в свою торговую среду. В ходе настоящего обсуждения нашей целью является разработать оптимизированное решение, которое выводило бы новости непосредственно на график — там, где они больше всего нужны. Мы добьемся этого, создав советника «Заголовки новостей», который отслеживает и отображает обновления новостей в режиме реального времени из источников API.
preview
От начального до среднего уровня: Массивы и строки (I)

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

В сегодняшней статье мы начнем изучать некоторые особые типы данных. Для начала мы определим, что такое строка, и объясним, как использовать некоторые базовые процедуры. Это позволит нам работать с этим типом данных, который может быть интересным, хотя иногда и немного запутанным для новичков. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Разработка системы репликации (Часть 44): Проект Chart Trade (III)

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

В предыдущей статье я объяснил, как можно управлять данными шаблона для их использования в OBJ_CHART. Там я лишь обозначил тему, не вдаваясь в подробности, поскольку в той версии работа была выполнена очень упрощенным способом. Это сделано для того, чтобы облегчить объяснение содержания, ведь несмотря на кажущуюся простоту многих вещей, некоторые из них не столь очевидны, а без понимания самой простой и основной части, вы не сможете по-настоящему разобраться в том, что мы делаем.
preview
Бильярдный алгоритм оптимизации — Billiards Optimization Algorithm (BOA)

Бильярдный алгоритм оптимизации — Billiards Optimization Algorithm (BOA)

Метод BOA, вдохновленный классической игрой в бильярд, моделирует процесс поиска оптимальных решений, как игру с шарами, стремящимися попасть в лузы, олицетворяющие наилучшие результаты. В данной статье мы рассмотрим основы работы BOA, его математическую модель и эффективность в решении различных оптимизационных задач.
preview
Автоматизация торговых стратегий на MQL5 (Часть 17): Освоение стратегии скальпинга Grid-Mart с динамической информационной панелью

Автоматизация торговых стратегий на MQL5 (Часть 17): Освоение стратегии скальпинга Grid-Mart с динамической информационной панелью

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

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

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

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

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

Нейросети в трейдинге: Модель адаптивной графовой диффузии (Окончание)

В статье мы завершаем работу по построению фреймворка SAGDFN средствами MQL5, подводя итоги разработки и демонстрируя результаты его практического тестирования. Объединим реализованные ранее модули в единую систему^ покажем сильные стороны подхода, отметим его уязвимости и обсудим возможные пути доработки.
preview
Преодоление ограничений машинного обучения (Часть 1): Нехватка совместимых метрик

Преодоление ограничений машинного обучения (Часть 1): Нехватка совместимых метрик

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

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

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

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

Ichimuko Kinko Hyo — известный японский индикатор, представляющий собой систему определения тренда. Как и в предыдущих статьях, мы рассмотрим этот индикатор с использованием паттернов и поделимся стратегиями и отчетами о тестировании, применив классы библиотеки Мастера MQL5.
preview
Создание пользовательской системы определения рыночного режима на языке MQL5 (Часть 2): Советник

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

В этой статье подробно описано создание адаптивного экспертного советника (MarketRegimeEA) с помощью детектора режимов из Части 1. Он автоматически переключает торговые стратегии и параметры рисков для трендового, флэтового или волатильного рынков. Сюда включены практическая оптимизация, обработка переходов и индикатор для нескольких таймфреймов.
preview
Упрощаем торговлю на новостях (Часть 6): Совершаем сделки (III)

Упрощаем торговлю на новостях (Часть 6): Совершаем сделки (III)

В этой статье будет реализована сортировка новостей для отдельных новостных событий на основе их идентификаторов. Кроме того, предыдущие запросы SQL будут улучшены для предоставления дополнительной информации или сокращения времени выполнения запроса. Код, созданный в предыдущих статьях, станет работоспособным.
preview
Автоматизация торговых стратегий на MQL5 (Часть 11): Разработка многоуровневой системы сеточной торговли

Автоматизация торговых стратегий на MQL5 (Часть 11): Разработка многоуровневой системы сеточной торговли

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

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

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

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

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

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

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

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

Определить направление рынка может быть просто, но вот понять, когда входить на рынок, - гораздо более сложная задача. В этой статье серии "Разработка инструментария для анализа движения цен" я представлю еще один инструмент, который определяет точки входа и уровни стоп-лосса/тейк-профита. Для достижения этой цели использовался язык программирования MQL5.