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

icon

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

Статьи научат вас не только программировать на языке MQL5, но и покажут как реализовать любые торговые идеи и техники. Вы узнаете, как написать трейлинг стоп, как реализовать управление капиталом, как получить значение индикатора и многое-многое другое.

Новая статья
последние | лучшие
preview
Нейросети — это просто (Часть 69): Ограничение политики поведения на основе плотности офлайн данных (SPOT)

Нейросети — это просто (Часть 69): Ограничение политики поведения на основе плотности офлайн данных (SPOT)

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

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

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

Разработка торгового советника с нуля (Часть 21): Новая система ордеров (IV)

Наконец-то визуальная система заработает... хотя пока не до конца. Здесь мы закончим вносить основные изменения, которых будет не мало, но они все необходимы, и вся работа будет достаточно интересной.
preview
Нейросети — это просто (Часть 60): Онлайн Трансформер решений (Online Decision Transformer—ODT)

Нейросети — это просто (Часть 60): Онлайн Трансформер решений (Online Decision Transformer—ODT)

Последние 2 статьи были посвящены методу Decision Transformer, который моделирует последовательности действий в контексте авторегрессионной модели желаемых вознаграждений. В данной статье мы рассмотрим ещё один алгоритм оптимизации данного метода.
preview
Нейросети — это просто (Часть 42): Прокрастинация модели, причины и методы решения

Нейросети — это просто (Часть 42): Прокрастинация модели, причины и методы решения

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

Нейросети — это просто (Часть 54): Использование случайного энкодера для эффективного исследования (RE3)

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

Несколько индикаторов на графике (Часть 05): Превращаем MetaTrader 5 в систему RAD (I)

Несмотря на то, что многие люди не умеют программировать, они достаточно креативны и имеют отличные идеи, но отсутствие знаний или понимания программирования мешает им сделать некоторые вещи. Давайте посмотрим вместе, как создать Chart Trade, но используя саму платформу MT5, как будто это IDE.
preview
Работа с таймсериями в библиотеке DoEasy (Часть 54): Классы-наследники абстрактного базового индикатора

Работа с таймсериями в библиотеке DoEasy (Часть 54): Классы-наследники абстрактного базового индикатора

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

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

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

Нейросети — это просто (Часть 83): Алгоритм пространственно-временного преобразователя постоянного внимания (Conformer)

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

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

Мы уже несколько продвинулись в разработке мультивалютного советника с несколькими параллельно работающими стратегиями. С учетом накопленного опыта проведем ревизию архитектуры нашего решения и попробуем ее улучшить, пока не ушли слишком далеко вперед.
preview
Нейросети — это просто (Часть 70): Улучшение политики с использованием операторов в закрытой форме (CFPI)

Нейросети — это просто (Часть 70): Улучшение политики с использованием операторов в закрытой форме (CFPI)

В этой статье мы предлагаем познакомиться с алгоритмом, который использует операторы улучшения политики в закрытой форме для оптимизации действий Агента в офлайн режиме.
preview
Нейросети — это просто (Часть 74): Адаптивное прогнозирование траекторий

Нейросети — это просто (Часть 74): Адаптивное прогнозирование траекторий

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

Нейросети — это просто (Часть 40): Подходы к использованию Go-Explore на большом объеме данных

В данной статье обсуждается применение алгоритма Go-Explore на протяжении длительного периода обучения, так как стратегия случайного выбора действий может не привести к прибыльному проходу с увеличением времени обучения.
preview
Нейросети — это просто (Часть 61): Проблема оптимизма в офлайн обучении с подкреплением

Нейросети — это просто (Часть 61): Проблема оптимизма в офлайн обучении с подкреплением

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

Разработка торгового советника с нуля (Часть 13): Время и торговля (II)

Сегодня мы построим вторую часть системы Times & Trade для анализа рынка. В предыдущей статье "Times & Trade (I)" мы рассмотрели альтернативную систему для организации графика, чтобы у нас был индикатор, позволяющий как можно быстрее интерпретировать сделки, совершенные на рынке.
preview
Несколько индикаторов на графике (Часть 06): Превращаем MetaTrader 5 в систему RAD (II)

Несколько индикаторов на графике (Часть 06): Превращаем MetaTrader 5 в систему RAD (II)

В предыдущей статье я показал, как создать Chart Trade с использованием объектов MetaTrader 5 и превратить платформу в систему RAD. Система работает очень хорошо, и наверняка многие задумывались о создании библиотеки — она позволит иметь всё больше и больше функциональности в предлагаемой системе, и можно будет разработать более интуитивно понятный советник с более приятный и простым в использовании интерфейсом.
preview
Нейросети — это просто (Часть 77): Кросс-ковариационный Трансформер (XCiT)

Нейросети — это просто (Часть 77): Кросс-ковариационный Трансформер (XCiT)

В своих моделях мы часто используем различные алгоритмы внимание. И, наверное, чаще всего мы используем Трансформеры. Основным их недостатком является требование к ресурсам. В данной статье я хочу предложить Вам познакомиться с алгоритмом, который поможет снизить затраты на вычисления без потери качества.
preview
Нейросети — это просто (Часть 24): Совершенствуем инструмент для Transfer Learning

Нейросети — это просто (Часть 24): Совершенствуем инструмент для Transfer Learning

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

Нейросети в трейдинге: Анализ облака точек (PointNet)

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

Нейросети — это просто (Часть 43): Освоение навыков без функции вознаграждения

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

Создание самооптимизирующихся советников на MQL5

Создавайте советников, которые адаптируются к любому рынку.
preview
Нейросети — это просто (Часть 80): Генеративно-состязательная модель Трансформера графов (GTGAN)

Нейросети — это просто (Часть 80): Генеративно-состязательная модель Трансформера графов (GTGAN)

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

Разработка торгового советника с нуля (Часть 9): Концептуальный скачок (II)

Размещение Chart Trade в плавающем окне. В предыдущей статье мы создали базовую систему для использования шаблонов внутри плавающего окна.
preview
Разработка торгового советника с нуля (Часть 19): Новая система ордеров (II)

Разработка торгового советника с нуля (Часть 19): Новая система ордеров (II)

В данной статье мы будем разрабатывать графическую систему ордеров вида «посмотрите, что происходит». Следует сказать, что мы не начнем с нуля, а модифицируем существующую систему, добавив еще больше объектов и событий на график торгуемого нами актива.
preview
Парный трейдинг: Алготорговля с автооптимизацией на разнице Z-оценки

Парный трейдинг: Алготорговля с автооптимизацией на разнице Z-оценки

В этой статье разберем, что такое парный трейдинг и как происходит торговля на корреляциях. Также создадим советник для автоматизации парного трейдинга и добавим возможность автоматической оптимизации такого торгового алгоритма на исторических данных. Кроме того, в рамках проекта узнаем, как рассчитывать расхождения двух пар с помощью z-оценки.
Работа с ценами в библиотеке DoEasy (Часть 60): Список-серия тиковых данных символа
Работа с ценами в библиотеке DoEasy (Часть 60): Список-серия тиковых данных символа

Работа с ценами в библиотеке DoEasy (Часть 60): Список-серия тиковых данных символа

В статье создадим список для хранения тиковых данных одного символа и проверим его создание и получение из него требуемых данных в советнике. Такие списки тиковых данных — свой для каждого используемого символа — далее будут составлять собою коллекцию тиковых данных.
preview
Разработка торгового советника с нуля (Часть 11): Система кросс-ордеров

Разработка торгового советника с нуля (Часть 11): Система кросс-ордеров

Создание системы кросс-ордеров. Есть один вид активов, который очень усложняет жизнь трейдерам — это активы фьючерсных контрактов. Но почему они усложняют жизнь трейдеру?
preview
Нейросети — это просто (Часть 86): U-образный Трансформер

Нейросети — это просто (Часть 86): U-образный Трансформер

Мы продолжаем рассмотрение алгоритмов прогнозирования временных рядов. И в данной статье я предлагаю Вам познакомиться с методов U-shaped Transformer.
preview
Нейросети в трейдинге: Модель двойного внимания для прогнозирования трендов

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

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

Треугольные и пилообразные волны: инструменты для трейдера

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

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

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

Нейросети — это просто (Часть 87): Сегментация временных рядов

Прогнозирование играет важную роль в анализе временных рядов. В новой статье мы поговорим о преимуществах сегментации временных рядов.
preview
Нейросети — это просто (Часть 78): Детектор объектов на основе Трансформера (DFFT)

Нейросети — это просто (Часть 78): Детектор объектов на основе Трансформера (DFFT)

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

Создаем простой мультивалютный советник с использованием MQL5 (Часть 5): Полосы Боллинджера на канале Кельтнера — Сигналы индикаторов

Под мультивалютным советником в этой статье понимается советник, или торговый робот, который может торговать (открывать/закрывать ордера, управлять ордерами, например, трейлинг-стоп-лоссом и трейлинг-профитом) более чем одной парой символов с одного графика. В этой статье мы будем использовать сигналы двух индикаторов - полосы Боллинджера (Bollinger Bands®) на канале Кельтнера.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 6): Преобразование Фурье

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

Преобразование Фурье, введенное Жозефом Фурье, является средством разложения сложных волновых точек данных на простые составляющие волны. Эта особенность может быть полезной для трейдеров, и именно ее мы и рассмотрим в этой статье.
preview
Применение теории игр в алгоритмах трейдинга

Применение теории игр в алгоритмах трейдинга

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

Самообучающийся советник с нейросетью на матрице состояний

Самообучающийся советник с нейросетью на матрице состояний. Совмещаем марковские цепи с многослойной нейросетью MLP, написанной на библиотеке ALGLIB MQL5. Как могут быть совмещены для прогнозирования Форекс марковские цепи и нейросети?
preview
Нейросети — это просто (Часть 45): Обучение навыков исследования состояний

Нейросети — это просто (Часть 45): Обучение навыков исследования состояний

Обучение полезных навыков без явной функции вознаграждения является одной из основных задач в иерархическом обучении с подкреплением. Ранее мы уже познакомились с 2 алгоритмами решения данной задачи. Но вопрос полноты исследования окружающей среды остается открытым. В данной статье демонстрируется иной подход к обучению навыком. Использование которых напрямую зависит от текущего состояния системы.
preview
Разработка торгового советника с нуля (Часть 8): Концептуальный скачок (I)

Разработка торгового советника с нуля (Часть 8): Концептуальный скачок (I)

Как максимально просто реализовать новый функционал? В данной статье мы сделаем шаг назад, а затем два шага вперед.