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

icon

Эксперты, созданные для платформы MetaTrader, выполняют самые разнообразные функции, задуманные их разработчиками. Торговые роботы могут отслеживать множество финансовых инструментов 24 часа в сутки, копировать сделки, создавать и отсылать отчеты, анализировать новости и даже предоставлять трейдеру собственный графический интерфейс, разработанный по его заказу.

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

Новая статья
последние | лучшие
preview
Разработка торгового советника с нуля (Часть 27): Навстречу будущему (II)

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

Давайте перейдем к более полноценной системе ордеров непосредственно на графике. В этой статье я вам покажу способ исправить систему ордеров или, скорее, как сделать её более интуитивно понятной.
preview
Нейросети — это просто (Часть 86): U-образный Трансформер

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

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

Разработка показателя качества советников

В этой статье мы объясним, как разработать показатель качества, который ваш советник сможет отображать в тестере стратегии. Мы познакомимся с двумя известными методами расчета (Ван Тарп и Санни Харрис).
preview
Нейросети — это просто (Часть 75): Повышение производительности моделей прогнозирования траекторий

Нейросети — это просто (Часть 75): Повышение производительности моделей прогнозирования траекторий

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

Нейросети — это просто (Часть 50): Soft Actor-Critic (оптимизация модели)

В предыдущей статье мы реализовали алгоритм Soft Actor-Critic, но не смогли обучить прибыльную модель. В данной статье мы проведем оптимизацию ранее созданной модели для получения желаемых результатов её работы.
preview
Нейросети — это просто (Часть 19): Ассоциативные правила средствами MQL5

Нейросети — это просто (Часть 19): Ассоциативные правила средствами MQL5

Продолжаем тему поиска ассоциативных правил. В предыдущей статье мы рассмотрели теоретические аспекты данного типа задач. В этой статье я продемонстрирую реализацию метода FP-Growth средствами MQL5. А также мы протестируем нашу реализацию на реальных данных.
preview
Нейросети — это просто (Часть 56): Использование ядерной нормы для стимулирования исследования

Нейросети — это просто (Часть 56): Использование ядерной нормы для стимулирования исследования

Исследование окружающей среды в задачах обучения с подкреплением является актуальной проблемой. Ранее мы уже рассматривали некоторые подходы. И сегодня я предлагаю познакомиться с ещё одним методом, основанным на максимизации ядерной нормы. Он позволяет агентам выделять состояния среды с высокой степенью новизны и разнообразия.
preview
Нейросети — это просто (Часть 51): Актор-критик, управляемый поведением (BAC)

Нейросети — это просто (Часть 51): Актор-критик, управляемый поведением (BAC)

В последних двух статьях рассматривался алгоритм Soft Actor-Critic, который включает энтропийную регуляризацию в функцию вознаграждения. Этот подход позволяет балансировать исследование среды и эксплуатацию модели, но он применим только к стохастическим моделям. В данной статье рассматривается альтернативный подход, который применим как для стохастических, так и для детерминированных моделей.
preview
Нейросети — это просто (Часть 68): Офлайн оптимизация политик на основе предпочтений

Нейросети — это просто (Часть 68): Офлайн оптимизация политик на основе предпочтений

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

Использование алгоритмов оптимизации для настройки параметров советника "на лету"

В статье рассматриваются практические аспекты использования алгоритмов оптимизации для поиска наилучших параметров советников "на лету", виртуализация торговых операций и логики советника. Данная статья может быть использована как своеобразная инструкция для внедрения алгоритмов оптимизации в торгового советника.
preview
Разработка торгового советника с нуля (Часть 14): Добавляем Volume at Price (II)

Разработка торгового советника с нуля (Часть 14): Добавляем Volume at Price (II)

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

Разметка данных в анализе временных рядов (Часть 3):Пример использования разметки данных

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

Сделайте торговые графики лучше с интерактивным графическим интерфейсом на основе MQL5 (Часть II): Перемещаемый интерфейс (II)

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

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

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

Как построить советник, работающий автоматически (Часть 09): Автоматизация (I)

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

Разработка торгового советника с нуля (Часть 16): Доступ к данным в Интернете (II)

Знание того, как вводить данные из Web в советник, не так очевидно, вернее, не так просто, чтобы это можно было сделать без понимания всех возможностей, которые есть в MetaTrader 5.
preview
Разрабатываем мультивалютный советник (Часть 4): Отложенные виртуальные ордера и сохранение состояния

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

Приступив к разработке мультивалютного советника мы уже достигли некоторых результатов и успели провести несколько итераций улучшения кода. Однако наш советник не мог работать с отложенными ордерами и возобновлять работу после перезапуска терминала. Давайте добавим эти возможности.
preview
Как создать советник, который торгует автоматически (Часть 14): Автоматизация (VI)

Как создать советник, который торгует автоматически (Часть 14): Автоматизация (VI)

Здесь мы действительно применим на практике все знания этой серии статей. Наконец мы построим 100% автоматическую и функциональную систему, но для этого нам придется научиться одной последней детали.
preview
Модифицированный советник Grid-Hedge в MQL5 (Часть II): Создание простого сеточного советника

Модифицированный советник Grid-Hedge в MQL5 (Часть II): Создание простого сеточного советника

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

Как построить советник, работающий автоматически (Часть 10): Автоматизация (II)

Автоматизация ничего не значит, если вы не можете контролировать расписание его работы. Ни один работник не может быть эффективным при работе 24 часа в сутки. Несмотря на этот факт, многие считают, что автоматизированная система должна работать 24 часа в сутки. Хорошо всегда иметь возможность задавать временной интервал для эксперта. В этой статье мы обсудим, как правильно установить такой временной интервал.
preview
Работаем с датами и временем в MQL5

Работаем с датами и временем в MQL5

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

Нейросети — это просто (Часть 88): Полносвязный Энкодер временных рядов (TiDE)

Желание получить наиболее точные прогнозы толкает исследователей к усложнению моделей прогнозирование. Что в свою очередь ведет к увеличению затрат на обучение и обслуживание модели. Но всегда ли это оправдано? В данной статье я предлагаю Вам познакомиться с алгоритмом, который использует простоту и скорость линейных моделей и демонстрирует результаты на уровне лучших с более сложной архитектурой.
preview
Нейросети — это просто (Часть 84): Обратимая нормализация (RevIN)

Нейросети — это просто (Часть 84): Обратимая нормализация (RevIN)

Мы давно уже усвоили, что большую роль в стабильности обучения модели играет предварительная обработка исходных данных. И для online обработки "сырых" исходных данных мы часто используем слой пакетной нормализации. Но порой возникает необходимость обратной процедуры. Об одном из возможных подходов к решению подобных задач мы говорим в данной статье.
preview
Нейросети — это просто (Часть 81): Анализ динамики данных с учетом контекста (CCMR)

Нейросети — это просто (Часть 81): Анализ динамики данных с учетом контекста (CCMR)

В предыдущих работах мы всегда оценивали текущее состояния окружающей среды. При этом динамика изменения показателей, как таковая, всегда оставалась "за кадром". В данной статье я хочу познакомить Вас с алгоритмом, который позволяет оценить непосредственное изменение данных между 2 последовательными состояниями окружающей среды.
preview
Шаблоны проектирования в MQL5 (Часть I): Порождающие шаблоны (Creational Patterns)

Шаблоны проектирования в MQL5 (Часть I): Порождающие шаблоны (Creational Patterns)

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

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

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

Шаблоны проектирования в программировании на MQL5 (Часть 4): Поведенческие шаблоны 2

Статья завершает серию о шаблонах проектирования в области программного обеспечения. Я уже упоминал, что существуют три типа шаблонов проектирования - порождающие, структурные и поведенческие. Мы доработаем оставшиеся паттерны поведенческого типа, которые помогут задать способ взаимодействия между объектами таким образом, чтобы сделать наш код чистым.
preview
Разрабатываем мультивалютный советник (Часть 3): Ревизия архитектуры

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

Мы уже несколько продвинулись в разработке мультивалютного советника с несколькими параллельно работающими стратегиями. С учетом накопленного опыта проведем ревизию архитектуры нашего решения и попробуем ее улучшить, пока не ушли слишком далеко вперед.
preview
Разметка данных в анализе временных рядов (Часть 2):Создаем наборы данных с маркерами тренда с помощью Python

Разметка данных в анализе временных рядов (Часть 2):Создаем наборы данных с маркерами тренда с помощью Python

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

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

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

Разметка данных в анализе временных рядов (Часть 1):Создаем набор данных с маркерами тренда с помощью графика советника

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

Добавляем пользовательскую LLM в торгового робота (Часть 1): Развертывание оборудования и среды

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

Создаем простой мультивалютный советник с использованием MQL5 (Часть 4): Треугольная скользящая средняя — Сигналы индикатора

Под мультивалютным советником в этой статье понимается советник, или торговый робот, который может торговать (открывать/закрывать ордера, управлять ордерами, например, трейлинг-стоп-лоссом и трейлинг-профитом) более чем одной парой символов с одного графика. На этот раз мы будем использовать только один индикатор, а именно треугольную скользящую среднюю на одном или нескольких таймфреймах.
preview
Теория категорий в MQL5 (Часть 17): Функторы и моноиды

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

Это последняя статья серии, посвященная функторам. В ней мы вновь рассматриваем моноиды как категорию. Моноиды, которые мы уже представили в этой серии, используются здесь для помощи в определении размера позиции вместе с многослойными перцептронами.
preview
Нейросети — это просто (Часть 82): Модели Обыкновенных Дифференциальных Уравнений (NeuralODE)

Нейросети — это просто (Часть 82): Модели Обыкновенных Дифференциальных Уравнений (NeuralODE)

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

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

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

Нейросети — это просто (Часть 76): Изучение разнообразных режимов взаимодействия (Multi-future Transformer)

В данной статье мы продолжаем тему прогнозирования предстоящего ценового движения. И предлагаю Вам познакомиться с архитектурой Multi-future Transformer. Основная идея которого заключается в разложении мультимодального распределение будущего на несколько унимодальных распределений, что позволяет эффективно моделировать разнообразные модели взаимодействия между агентами на сцене.
preview
Создаем простой мультивалютный советник с использованием MQL5 (Часть 2): Сигналы индикатора - мультитаймфреймовый Parabolic SAR

Создаем простой мультивалютный советник с использованием MQL5 (Часть 2): Сигналы индикатора - мультитаймфреймовый Parabolic SAR

Под мультивалютным советником в этой статье понимается советник, или торговый робот, который может торговать (открывать/закрывать ордера, управлять ордерами, например, трейлинг-стоп-лоссом и трейлинг-профитом) более чем одной парой символов с одного графика. На этот раз мы будем использовать только один индикатор, а именно Parabolic SAR или iSAR на нескольких таймфреймах, начиная с PERIOD_M15 и заканчивая PERIOD_D1.
preview
Нейросети — это просто (Часть 87): Сегментация временных рядов

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

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

Как построить советник, работающий автоматически (Часть 11): Автоматизация (III)

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