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

icon

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

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

Новая статья
последние | лучшие
preview
Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Окончание)

Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Окончание)

Фреймворк Mantis превращает сложные временные ряды в информативные токены и служит надёжным фундаментом для интеллектуального торгового Агента, готового работать в реальном времени.
preview
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL

Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL

В продолжение первой части создадим простую DLL и протестируем ее с помощью MetaTrader 5. Это хорошо подготовит нас к разработке полноценной поддержки OpenCL в виде DLL в следующей части.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM(IV) — Тестирование торговой стратегии

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

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

Гибридизация популяционных алгоритмов. Последовательная и параллельная схема

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

Стратегия торговли каскадами ордеров на основе пересечений EMA для MetaTrader 5

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

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

Представляем вашему вниманию заключительную часть цикла, посвящённого GinAR — нейросетевому фреймворку для прогнозирования временных рядов. В этой статье мы анализируем результаты тестирования модели на новых данных и оцениваем её устойчивость в условиях реального рынка.
preview
DoEasy. Элементы управления (Часть 6): Элемент управления "Панель", автоизменение размеров контейнера под внутреннее содержимое

DoEasy. Элементы управления (Часть 6): Элемент управления "Панель", автоизменение размеров контейнера под внутреннее содержимое

В статье продолжим работу над WinForms-объектом "Панель" и реализуем автоизменение его размеров под общие размеры Dock-объектов, расположенных внутри панели. Кроме того добавим новые свойства в объект библиотеки "Символ".
preview
Нейросети в трейдинге: Иерархический векторный Transformer (HiVT)

Нейросети в трейдинге: Иерархический векторный Transformer (HiVT)

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

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

В настоящей статье мы рассмотрим стратегию скальпинга Grid-Mart, автоматизировав ее на MQL5 с помощью динамической информационной панели для получения информации о торговле в режиме реального времени. Мы подробно описываем логику мартингейла на основе сетки, а также функции управления рисками. Мы также проводим тестирование на истории и развертывание для обеспечения надежной работы.
preview
Алгоритм миграции животных — Animal Migration Optimization (AMO)

Алгоритм миграции животных — Animal Migration Optimization (AMO)

Статья посвящена алгоритму AMO, который моделирует процесс сезонной миграции животных в поисках оптимальных условий для жизни и размножения. Основные особенности AMO включают использование топологического соседства и вероятностный механизм обновления, что делает его простым в реализации и гибким для различных оптимизационных задач.
preview
Оптимизация африканскими буйволами — African Buffalo Optimization (ABO)

Оптимизация африканскими буйволами — African Buffalo Optimization (ABO)

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

Управление рисками (Часть 1): Основы построения класса по управлению рисками

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

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

В статье рассматривается адаптация и практическая реализация фреймворка ACEFormer средствами MQL5 в контексте алгоритмической торговли. Показаны ключевые архитектурные решения, особенности обучения и результаты тестирования модели на реальных данных.
preview
DoEasy. Элементы управления (Часть 33): вертикальный "ScrollBar"

DoEasy. Элементы управления (Часть 33): вертикальный "ScrollBar"

В статье продолжим разработку графических элементов библиотеки DoEasy, и добавим вертикальную прокрутку элементов управления объекта-формы и некоторые полезные функции и методы, которые потребуются в дальнейшем.
preview
Анализ влияния погоды на валюты аграрных стран с использованием Python

Анализ влияния погоды на валюты аграрных стран с использованием Python

Как связана погода и валютный рынок? В классической экономической теории долгое время не признавали влияние таких факторов на поведение рынка. Но все изменилось. Давайте попробуем найти связи в состоянии погоды и положения аграрных валют на рынке.
preview
Методы оптимизации библиотеки Alglib (Часть II)

Методы оптимизации библиотеки Alglib (Часть II)

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

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

Числовые стены (Number Walls) — это вариант регистра сдвига с линейной обратной связью (Linear Shift Back Registers), который предварительно оценивает последовательности на предмет предсказуемости путем проверки на сходимость. Мы посмотрим, как эти идеи могут быть использованы в MQL5.
preview
Знакомство с языком MQL5 (Часть 16): Создание советников с использованием паттернов технического анализа

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

Эта статья знакомит новичков с созданием советника на языке MQL5, который выявляет классический паттерн технического анализа – "голову и плечи" – и торгует по нему. В статье рассматривается, как обнаружить паттерн, используя ценовое действие, нарисовать его на графике, установить уровни входа, стоп-лосса и тейк-профита, а также автоматизировать выполнение сделок на основе паттерна.
preview
Разработка системы репликации - Моделирование рынка (Часть 19): Необходимые корректировки

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

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

Разработка системы репликации (Часть 41): Начало второй фазы (II)

Если до этого момента вам всё казалось правильным, это значит, что вы на самом деле не задумываетесь о долгосрочной перспективе. Когда вы начинаете разрабатывать приложения, а со временем вам больше не приходится создавать новые приложения. Остается только добиться того, чтобы они работали вместе. Давайте рассмотрим, как завершить сборку указателя мыши.
preview
Теория категорий в MQL5 (Часть 12): Порядок

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

Статья является частью серии о реализации графов средствами теории категорий в MQL5 и посвящена отношению порядка (Order Theory). Мы рассмотрим два основных типа упорядочения и исследуем, как концепции отношения порядка могут поддерживать моноидные множества при принятии торговых решений.
preview
Самооптимизирующийся советник на языках MQL5 и Python (Часть VI): Использование преимуществ глубокого двойного спуска

Самооптимизирующийся советник на языках MQL5 и Python (Часть VI): Использование преимуществ глубокого двойного спуска

Традиционное машинное обучение учит специалистов быть бдительными и не допускать переобучения своих моделей. Однако эта идеология подвергается сомнению в связи с новыми открытиями, опубликованными исследователями из Гарварда, которые обнаружили, что то, что кажется переобучением, в некоторых обстоятельствах может быть результатом преждевременного прекращения процедур обучения. Мы покажем, как можно использовать идеи этой научной публикации для улучшения использования ИИ при прогнозировании доходности рынка.
preview
Нейросети в трейдинге: Адаптивное восприятие рыночной динамики (STE-FlowNet)

Нейросети в трейдинге: Адаптивное восприятие рыночной динамики (STE-FlowNet)

Фреймворк STE-FlowNet открывает новый взгляд на анализ финансовых данных, реагируя на реальные события рынка, а не на фиксированные таймфреймы. Его архитектура сохраняет локальные и временные зависимости, позволяя отслеживать даже мелкие импульсы в динамике цен.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 26): Скользящие средние и показатель Херста

Возможности Мастера MQL5, которые вам нужно знать (Часть 26): Скользящие средние и показатель Херста

Показатель Херста — это мера того, насколько сильно временной ряд автокоррелирует в долгосрочной перспективе. Предполагается, что он отражает долгосрочные свойства временного ряда и поэтому имеет определенный вес в анализе временных рядов даже за пределами экономических/финансовых временных рядов. Однако мы сосредоточимся на его потенциальной пользе для трейдеров, изучив, как этот показатель можно объединить со скользящими средними для формирования потенциально надежного сигнала.
preview
Нейросети в трейдинге: Использование языковых моделей для прогнозирования временных рядов

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

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

Нейронная сеть на практике: Функция прямой линии

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

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

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

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

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

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

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

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

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

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

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

Алгоритм дуэлянта — Duelist Algorithm

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

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

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

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

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

Визуализация стратегий в MQL5: раскладываем результаты оптимизации по графикам критериев

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

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

Статья показывает полный цикл работы по созданию мультивалютного советника с использованием библиотеки Adwizard для MetaTrader 5: от подготовки окружения для создания проектов оптимизации до получения итоговых мультивалютных советников, объединяющих много экземпляров простой торговой стратегии. Разбираем настройку нужных входных параметров, соглашения об удобных именах файлов и запуск трёх экземпляров итоговых советников на разных торговых счетах с разными параметрами.
preview
От новичка до эксперта: Прогнозируемые ценовые траектории

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

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

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

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

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

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

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

В статье реализуем возможность изменять свойства и внешний вид элемента управления SplitContainer после его создания.