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

icon

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

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

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

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

В статье рассмотрим наглядно по блок-схемам логику прилагаемых к терминалу учебных советников, расположенных в папке Experts\Free Robots, торгующих по свечным паттернам.
preview
Нейросети в трейдинге: Модели пространства состояний

Нейросети в трейдинге: Модели пространства состояний

В основе большого количества рассмотренных нами ранее моделей лежит архитектура Transformer. Однако они могут быть неэффективны при работе с длинными последовательностями. И в этой статье я предлагаю познакомиться с альтернативным направлением прогнозирования временных рядов на основе моделей пространства состояний.
preview
Как опередить любой рынок?

Как опередить любой рынок?

Узнайте, как опередить любой рынок независимо от вашего опыта торговли на нем.
preview
Алгоритм искусственного пчелиного улья — Artificial Bee Hive Algorithm (ABHA): Тестирование и результаты

Алгоритм искусственного пчелиного улья — Artificial Bee Hive Algorithm (ABHA): Тестирование и результаты

В этой статье мы продолжим изучение алгоритма искусственного пчелиного улья ABHA, углубляясь в написание кода и рассматривая оставшиеся методы. Напомним, что каждая пчела в модели представлена как индивидуальный агент, чье поведение зависит от внутренней и внешней информации, а также мотивационного состояния. Мы проведем тестирование алгоритма на различных функциях и подведем итоги, представив результаты в рейтинговой таблице.
preview
Алгоритм искусственного пчелиного улья — Artificial Bee Hive Algorithm (ABHA): Теория и методы

Алгоритм искусственного пчелиного улья — Artificial Bee Hive Algorithm (ABHA): Теория и методы

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

Нейросети в трейдинге: Инъекция глобальной информации в независимые каналы (InjectTST)

Большинство современных методов прогнозирования мультимодальных временных рядов используют подход независимых каналов. Тем самым игнорируется природная зависимость различных каналов одного временного ряда. Разумное использование 2 подходов (независимых и смешанных каналов) является ключом к повышению эффективности моделей.
preview
Теория хаоса в трейдинге (Часть 2): Продолжаем погружение

Теория хаоса в трейдинге (Часть 2): Продолжаем погружение

Продолжаем погружение в теорию хаоса на финансовых рынках, и рассмотрим ее применимость к анализу валют и иных активов.
preview
Изучение MQL5 — от новичка до профи (Часть IV): О массивах, функциях и глобальных переменных терминала

Изучение MQL5 — от новичка до профи (Часть IV): О массивах, функциях и глобальных переменных терминала

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

Нейросети в трейдинге: Практические результаты метода TEMPO

Продолжаем знакомство с методом TEMPO. И в данной статье мы оценим фактическую эффективность предложенных подходов на реальных исторических данных.
preview
Разработка системы репликации (Часть 43): Проект Chart Trade (II)

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 14): Многоцелевое прогнозирование таймсерий с помощью STF

Пространственно-временное слияние (Spatial Temporal Fusion, STF), которое использует как "пространственные", так и временные метрики при моделировании данных, в первую очередь применяется в дистанционном обследовании и во многих других областях, связанных с визуализацией, для лучшего понимания нашего окружения. Основываясь на опубликованной статье, мы изучим потенциал этого подхода для трейдеров.
preview
Машинное обучение и Data Science (Часть 21): Сравниваем алгоритмы оптимизации в нейронных сетях

Машинное обучение и Data Science (Часть 21): Сравниваем алгоритмы оптимизации в нейронных сетях

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

Разрабатываем мультивалютный советник (Часть 16): Влияние разных историй котировок на результаты тестирования

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

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

Основанная на плотности пространственная кластеризация для приложений с шумами (Density Based Spatial Clustering for Applications with Noise, DBSCAN) - это неконтролируемая форма группировки данных, которая практически не требует каких-либо входных параметров, за исключением всего двух, что по сравнению с другими подходами, такими как k-средние, является преимуществом. Разберемся в том, как это может быть полезно в тестировании и торговле с применением советников, собранных в Мастере.
preview
Нейросети в трейдинге: Использование языковых моделей для прогнозирования временных рядов

Нейросети в трейдинге: Использование языковых моделей для прогнозирования временных рядов

Мы продолжаем рассмотрения моделей прогнозирования временных рядов. И в данной статье я предлагаю познакомиться с комплексным алгоритмом, построенным на использовании предварительно обученной языковой модели.
preview
Фильтр сезонности и временные периоды в моделях глубокого обучения с ONNX и Python в советнике

Фильтр сезонности и временные периоды в моделях глубокого обучения с ONNX и Python в советнике

Можем ли мы извлечь выгоду из сезонности при создании моделей для глубокого обучения с помощью Python? Помогает ли фильтрация данных в моделях ONNX получить лучшие результаты? Какой период времени использовать? Обо всем этом расскажем в этой статье.
preview
Нейросети в трейдинге: "Легкие" модели прогнозирования временных рядов

Нейросети в трейдинге: "Легкие" модели прогнозирования временных рядов

Легковесные модели прогнозирования временных рядов обеспечивают высокую производительность, используя минимальное количество параметров. Что, в свою очередь, снижает расход вычислительных ресурсов и ускоряет принятие решений. При этом они достигают качества прогнозов, сопоставимого с более сложными моделями.
preview
Создаем простой мультивалютный советник с использованием MQL5 (Часть 7): Сигналы индикаторов ZigZag и Awesome Oscillator

Создаем простой мультивалютный советник с использованием MQL5 (Часть 7): Сигналы индикаторов ZigZag и Awesome Oscillator

Под мультивалютным советником в этой статье понимается советник, или торговый робот, который использует индикаторы ZigZag и Awesome Oscillator, фильтрующие сигналы друг друга.
preview
Введение в MQL5 (Часть 5): Функции для работы с массивами для начинающих

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

В пятой статье из нашей серии мы познакомимся с миром массивов в MQL5. Статья предназначена для начинающих. В статье попытаемся упрощенно рассмотреть сложные концепции программирования, чтобы материал был понятен всем. Давайте вместе будем изучать основные концепции, обсуждать вопросы и делиться знаниями!
preview
Мониторинг торговли с помощью Push-уведомлений — пример сервиса в MetaTrader 5

Мониторинг торговли с помощью Push-уведомлений — пример сервиса в MetaTrader 5

В статье рассмотрим создание программы сервиса для отправки уведомлений на смартфон о результатах торговли. В рамках статьи научимся работать со списками объектов Стандартной Библиотеки для организации выборки объектов по требуемым свойствам.
preview
Расширенные переменные и типы данных в MQL5

Расширенные переменные и типы данных в MQL5

Переменные и типы данных — очень важные темы не только в программировании на MQL5, но и в любом языке программирования. Переменные и типы данных MQL5 можно разделить на простые и расширенные. Здесь мы рассмотрим расширенные переменные и типы данных. Простые мы изучали в предыдущей статье.
preview
Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция

Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция

Эта статья является продолжением темы социального поведения живых организмов и его воздействия на разработку новой математической модели - ASBO (Adaptive Social Behavior Optimization). Мы погрузимся в двухфазную эволюцию, проведем тестирование алгоритма и сделаем выводы. Подобно тому, как в природе группа живых организмов объединяет свои усилия для выживания, ASBO использует принципы коллективного поведения для решения сложных задач оптимизации.
preview
Разработка системы репликации (Часть 42): Проект Chart Trade (I)

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

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

Теория хаоса в трейдинге (Часть 1): Введение, применение на финансовых рынках и индикатор Ляпунова

Можно ли применять теорию хаоса на финансовых рынках? Чем классическая теория Хаоса и хаотические системы отличаются от концепции, предложенной Биллом Вильямсом, рассмотрим в этой статье.
preview
Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 6)

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

Статья является шестой частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT 5.0. В этой части я опишу основные изменения в нашем первом рефакторинге, получение рабочего проекта наших классов построения пакетов, создание пакетов PUBLISH и PUBACK, а также семантику кодов причин PUBACK.
preview
Разрабатываем мультивалютный советник (Часть 15): Готовим советник к реальной торговле

Разрабатываем мультивалютный советник (Часть 15): Готовим советник к реальной торговле

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

Нейросети в трейдинге: Снижение потребления памяти методом оптимизации Adam (Adam-mini)

Одним из направлений повышения эффективности процесса обучения и сходимости моделей является улучшение методов оптимизации. Adam-mini представляет собой адаптивный метод оптимизации, разработанный для улучшения базового алгоритма Adam.
preview
Изучение MQL5 — от новичка до профи (Часть III): Сложные типы данных и подключаемые файлы

Изучение MQL5 — от новичка до профи (Часть III): Сложные типы данных и подключаемые файлы

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

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

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

Модифицированный советник Grid-Hedge в MQL5 (Часть III): Оптимизация простой хеджирующей стратегии (I)

В третьей части мы вернемся к советникам Simple Hedge и Simple Grid, разработанным ранее. Теперь мы займемся совершенствованием советника Simple Hedge с помощью математического анализа и подхода грубой силы (brute force) с целью оптимального использования стратегии. Эта статья углубляется в математическую оптимизацию стратегии, закладывая основу для будущего исследования оптимизации на основе кода в последующих частях.
preview
Парадигмы программирования (Часть 2): Объектно-ориентированный подход к разработке советника на основе ценовой динамики

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

В этой статье мы поговорим о парадигме объектно-ориентированного программирования и ее применении в коде MQL5. Это вторая статья в серии. В ней мы познакомимся с особенностями объектно-ориентированного программирования и рассмотрим практические примеры. В прошлый раз мы написали советник на основе ценовой динамики (Price Action), используя индикатор EMA и свечные данные. Сейчас мы преобразуем его процедурный код в объектно-ориентированный.
preview
GIT: Но что это?

GIT: Но что это?

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

Нейросети в трейдинге: Пространственно-временная нейронная сеть (STNN)

В данной статье мы поговорим об использовании пространственно-временных преобразований для эффективного прогнозирования предстоящего ценового движения. Для повышения точности численного прогнозирования в STNN был предложен механизм непрерывного внимания, который позволяет модели лучше учитывать важные аспекты данных.
preview
Проблема разногласий: объяснимость и объяснители в ИИ

Проблема разногласий: объяснимость и объяснители в ИИ

В этой статье мы будем говорить о проблемах, связанных с объяснителями и объяснимостью в ИИ. Модели ИИ часто принимают решения, которые трудно объяснить. Более того, использование нескольких объяснителей часто приводит к так называемой "проблеме разногласий". А ведь ясное понимание того, как работают модели, является ключевым для повышения доверия к ИИ.
preview
Разрабатываем мультивалютный советник (Часть 14): Адаптивное изменение объёмов в риск-менеджере

Разрабатываем мультивалютный советник (Часть 14): Адаптивное изменение объёмов в риск-менеджере

Разработанный ранее риск-менеджер содержал только базовую функциональность. Попробуем рассмотреть возможные пути его развития, позволяющие повысить торговые результаты без вмешательства в логику торговых стратегий.
preview
Алгоритм искусственного электрического поля — Artificial Electric Field Algorithm (AEFA)

Алгоритм искусственного электрического поля — Artificial Electric Field Algorithm (AEFA)

Статья представляет алгоритм искусственного электрического поля (AEFA), вдохновленный законом Кулона об электростатической силе. Алгоритм моделирует электрические явления для решения сложных задач оптимизации, используя заряженные частицы и их взаимодействие. AEFA демонстрирует уникальные свойства в контексте других алгоритмов, связанных с законами природы.
preview
Модель глубокого обучения GRU на Python с использованием ONNX в советнике, GRU vs LSTM

Модель глубокого обучения GRU на Python с использованием ONNX в советнике, GRU vs LSTM

Статья посвящена разработке модели глубокого обучения GRU ONNX на Python. В практической части мы реализуем эту модель в торговом советнике, а затем сравним работу модели GRU с LSTM (долгой краткосрочной памятью).
preview
Нейросети в трейдинге: Модель двойного внимания для прогнозирования трендов

Нейросети в трейдинге: Модель двойного внимания для прогнозирования трендов

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

Торговля спредами на рынке форекс с использованием фактора сезонности

В статье рассматриваются возможности формирования и предоставления отчетных данных по использованию фактора сезонности при торговле спредами на рынке форекс.
preview
Нейросети в трейдинге: Кусочно-линейное представление временных рядов

Нейросети в трейдинге: Кусочно-линейное представление временных рядов

Эта статья несколько отличается от предыдущих работ данной серии. В ней мы поговорим об альтернативном представлении временных рядов. Кусочно-линейное представление временных рядов — это метод аппроксимации временного ряда с помощью линейных функций на небольших интервалах.