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

icon

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

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

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

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

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

Теория категорий в MQL5 (Часть 12): Порядок

Статья является частью серии о реализации графов средствами теории категорий в MQL5 и посвящена отношению порядка (Order Theory). Мы рассмотрим два основных типа упорядочения и исследуем, как концепции отношения порядка могут поддерживать моноидные множества при принятии торговых решений.
preview
Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Метод Швефеля, Бокса-Мюллера

Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Метод Швефеля, Бокса-Мюллера

Эта статья представляет увлекательное погружение в мир социального поведения живых организмов и его влияние на создание новой математической модели — ASBO (Adaptive Social Behavior Optimization). Мы рассмотрим, как принципы лидерства, соседства и сотрудничества, наблюдаемые в обществах живых существ, вдохновляют разработку инновационных алгоритмов оптимизации.
preview
Разработка системы репликации - Моделирование рынка (Часть 19): Необходимые корректировки

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

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

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

Свёрточные нейронные сети (Convolutional Neural Networks, CNNs) — ещё один алгоритм машинного обучения, который, как правило, специализируется на разложении многомерных наборов данных на ключевые составные части. Мы рассмотрим принцип его работы и исследуем возможное применение для трейдеров в очередном классе сигналов Мастера MQL5.
preview
Разрабатываем мультивалютный советник (Часть 24): Подключаем новую стратегию (I)

Разрабатываем мультивалютный советник (Часть 24): Подключаем новую стратегию (I)

В данной статье рассмотрим как нам подключить новую стратегию к созданной системе автоматической оптимизации. Посмотрим, какие советники нам понадобится создать и можно ли будет обойтись без изменений файлов библиотеки Advisor или свести необходимые изменения к минимуму.
preview
MQL5-советник, интегрированный в Telegram (Часть 7): Анализ команд для автоматизации индикаторов на графиках

MQL5-советник, интегрированный в Telegram (Часть 7): Анализ команд для автоматизации индикаторов на графиках

В этой статье мы узнаем, как интегрировать команды Telegram с MQL5 для автоматизации добавления индикаторов на торговые графики. Мы рассмотрим процесс анализа пользовательских команд, их выполнение на языке MQL5 и тестирование системы для обеспечения бесперебойной торговли на основе индикаторов.
preview
Визуальная оценка и корректировка торговли в MetaTrader 5

Визуальная оценка и корректировка торговли в MetaTrader 5

В тестере стратегий можно не только оптимизировать параметры торгового робота. Мы покажем, как оценить постфактум проторгованную историю своего счёта и внести корректировки в торговлю в тестере, изменяя размеры стоп-приказов открываемых позиций.
preview
DoEasy. Элементы управления (Часть 22): SplitContainer. Изменение свойств созданного объекта

DoEasy. Элементы управления (Часть 22): SplitContainer. Изменение свойств созданного объекта

В статье реализуем возможность изменять свойства и внешний вид элемента управления SplitContainer после его создания.
preview
Теория категорий в MQL5 (Часть 5): Эквалайзеры

Теория категорий в MQL5 (Часть 5): Эквалайзеры

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

Теория категорий в MQL5 (Часть 19): Индукция квадрата естественности

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

Создание советника Daily Drawdown Limiter на языке MQL5

В статье подробно рассматриваются возможности реализации советника на основе торгового алгоритма. Это поможет автоматизировать систему на MQL5 и взять под контроль дневную просадку.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 2): Объединение нативных индикаторов

Построение модели для ограничения диапазона сигналов по тренду (Часть 2): Объединение нативных индикаторов

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

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

В предыдущей работе мы рассмотрели теоретические аспекты фреймворка PSformer, который включает две основные инновации в архитектуру классического Transformer: механизм совместного использования параметров (Parameter Shared — PS) и внимание к пространственно-временным сегментам (SegAtt). И в данной статье мы продолжаем начатую работу по реализации предложенных подходов средствами MQL5.
preview
Управление капиталом в трейдинге и программа домашней бухгалтерии трейдера с базой данных

Управление капиталом в трейдинге и программа домашней бухгалтерии трейдера с базой данных

Как трейдеру управлять капиталом? Как трейдеру и инвестору вести учет расходов, доходов, активов и пассивов? Я представлю вам не просто программу для учета, я покажу вам инструмент, который может стать вашим надежным финансовым навигатором в бурном море трейдинга.
preview
Прогнозирование условного распределения с помощью MLP

Прогнозирование условного распределения с помощью MLP

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

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

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

Разрабатываем мультивалютный советник (Часть 22): Начало перехода на горячую замену настроек

Если мы взялись за автоматизацию проведения периодической оптимизации, то надо позаботиться и об автоматическом обновлении настроек советников, которые уже работают на торговом счёте. Также это должно позволять запускать советник в тестере стратегий и менять его настройки в рамках одного прохода.
preview
Торговые инструменты на MQL5 (Часть 15): Эффекты размытия canvas, рендеринг теней и плавная прокрутка колесом мыши

Торговые инструменты на MQL5 (Часть 15): Эффекты размытия canvas, рендеринг теней и плавная прокрутка колесом мыши

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 44): Технический индикатор Average True Range (ATR)

Осциллятор ATR — очень популярный индикатор, используемый в качестве индикатора волатильности, особенно на валютных рынках, где данные об объемах скудны. Как и в случае с предыдущими индикаторами, мы рассмотрим паттерны и поделимся стратегиями и отчетами о тестировании.
preview
Нейросети в трейдинге: Сеточная аппроксимация событийного потока как инструмент анализа ценовых паттернов (ADM-модуль)

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

В статье представлена реализация Adaptive Density Module (ADM), ключевого компонента фреймворка EEMFlow, средствами MQL5. Рассмотрены этапы построения и объединения субмодулей MDC и MDS, а также интеграция ADM в существующую торговую модель BAT. Результаты тестирования на исторических данных EURUSD показывают устойчивый рост депозита, контролируемые просадки и высокую стабильность кривой эквити.
preview
Осваиваем JSON: Разработка пользовательского JSON-ридера с нуля на MQL5

Осваиваем JSON: Разработка пользовательского JSON-ридера с нуля на MQL5

В статье приведено пошаговое руководство по созданию пользовательского парсера JSON на языке MQL5, включающего обработку объектов и массивов, проверку ошибок и сериализацию. Вы сможет объединить торговую логику и структурированные данные с помощью гибкого решения для обработки JSON в MetaTrader 5.
preview
Разработка инструментария для анализа движения цен (Часть 7): Советник Signal Pulse

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

Раскройте потенциал мультитаймфреймового анализа с помощью Signal Pulse — MQL5-советника, который объединяет полосы Боллинджера и стохастический осциллятор для предоставления точных торговых сигналов с высокой вероятностью возникновения. Узнайте, как реализовать эту стратегию и эффективно визуализировать возможности покупки и продажи с помощью стрелок. Советник идеально подходит для трейдеров, стремящихся улучшить свои решения посредством автоматического анализа на нескольких таймфреймах.
preview
Альтернативные показатели риска и доходности в MQL5

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

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

MQL5-советник, интегрированный в Telegram (Часть 6): Добавление адаптивных встроенных кнопок

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

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

В этой статье описывается работа со встроенными индикаторами в MQL5, отдельное внимание уделяется созданию советника на основе индикатора RSI с использованием проектного подхода. Вы научитесь получать и использовать значения RSI, обрабатывать колебания ликвидности и улучшать визуализацию торговли с помощью графических объектов. Кроме того, в статье рассматривается еще один важный аспект. Сюда относится риск в процентах от депозита, соотношение риска и доходности, а также модификация риска на ходу для защиты прибыли.
preview
Отправка сообщений из MQL5 в Discord, создание бота Discord-MetaTrader 5

Отправка сообщений из MQL5 в Discord, создание бота Discord-MetaTrader 5

Подобно Telegram, Discord способен получать информацию и сообщения в формате JSON, используя свои коммуникационные API. В настоящей статье мы рассмотрим, как можно использовать API Discord для отправки торговых сигналов и обновлений из MetaTrader 5 в ваше торговое сообщество Discord.
preview
Разработка системы репликации (Часть 50): Все усложняется (II)

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

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

Теория категорий в MQL5 (Часть 14): Функторы с линейным порядком

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

MQL5-советник, интегрированный в Telegram (Часть 4): Модуляризация функций кода для улучшенного повторного использования

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

Нейросети в трейдинге: Адаптивное обнаружение рыночных аномалий (DADA)

Предлагаем познакомиться с фреймворком DADA — инновационным методом выявления аномалий во временных рядах. Он помогает отличить случайные колебания от подозрительных отклонений. В отличие от традиционных методов, DADA гибко подстраивается под разные данные. Вместо фиксированного уровня сжатия он использует несколько вариантов и выбирает наиболее подходящий для каждого случая.
preview
Разработка системы репликации - Моделирование рынка (Часть 21):  ФОРЕКС (II)

Разработка системы репликации - Моделирование рынка (Часть 21): ФОРЕКС (II)

Мы продолжим строить систему для работы на рынке ФОРЕКС. Поэтому для того, чтобы решить эту проблему необходимо сначала объявить загрузку тиков до загрузки предыдущих баров. Это решает проблему, но в то же время заставляет пользователя следовать некой структуре в конфигурационном файле, которая, лично для меня, не имеет особого смысла. Причина в том, что, разработав программу, которая отвечает за анализ и выполнение того, что находится в конфигурационном файле, мы можем позволить пользователю объявлять нужные ему элементы в любом порядке.
preview
Применение ассоциативных правил для анализа данных на Форексе

Применение ассоциативных правил для анализа данных на Форексе

Как применить предиктивные правила ретейл-аналитики супермаркетов к реальному рынку Форекс? Как связаны покупки печенья, молока и хлеба с транзакциями на бирже? В статье рассматривается инновационный подход к алгоритмическому трейдингу, основанный на применении ассоциативных правил.
preview
Нейросети в трейдинге: Интеграция теории хаоса в прогнозирование временных рядов (Attraos)

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

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

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

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

Универсальная формула оптимизации (GOF) при реализации режима Custom Max с ограничениями

В статье представлен способ реализации задач оптимизации с несколькими целями и ограничениями при выборе режима Custom Max в настройках терминала MetaTrader 5. Например, задача оптимизации может быть следующей: максимизировать фактор прибыли, чистую прибыль и фактор восстановления таким образом, чтобы просадка была менее 10%, количество последовательных убытков было менее 5, а количество сделок в неделю было более 5.
Разработка системы репликации - Моделирование рынка (Часть 10): Только реальные данные для репликации
Разработка системы репликации - Моделирование рынка (Часть 10): Только реальные данные для репликации

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

Здесь мы рассмотрим, как более надежные данные (торгуемые тики) можно использовать в системе репликации, не беспокоясь о том, скорректированы они или нет.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 39): Индекс относительной силы

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

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

Аналитическая торговля на основе профиля объема (AVPT): Архитектура ликвидности, рыночная память и алгоритмическое исполнение

Аналитическая торговля на основе профиля объема (AVPT): (Analytical Volume Profile Trading, AVPT) показывает, как архитектура ликвидности и рыночная память формируют поведение цены, что позволяет получить более глубокое понимание институционального позиционирования и структуры, определяемой объемом торгов. Графически отображая точки максимального объёма (POC), уровни высокого объёма (HVN), уровни низкого объёма (LVN) и зоны стоимости, трейдеры могут с высокой точностью определять зоны принятия, отклонения и дисбаланса.
preview
Нейросети в трейдинге: Сеточная аппроксимация событийного потока как инструмент анализа ценовых паттернов (Окончание)

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

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