Статьи о тестировании стратегий на языке MQL5

icon

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

Разработчикам автоматических торговых систем рекомендуется начать с изучения основ тестирования и алгоритмов генерации тиков в тестере стратегий.

Новая статья
последние | лучшие
preview
Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA): Продолжение

Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA): Продолжение

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

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

Прежде, чем двигаться дальше в разработке мультивалютных советников, попробуем переключиться на создание нового проекта, использующего разработанную библиотеку. На этом примере выявим, как лучше организовать хранение исходного кода, и как нам может помочь использование нового репозитория кода от MetaQuotes.
preview
От новичка к эксперту: Главное на пути к торговле на MQL5

От новичка к эксперту: Главное на пути к торговле на MQL5

Раскройте свой потенциал! Вас окружают возможности. Узнайте 3 главных секрета, с помощью которых вы начнете изучать MQL5 или перейдете на новый уровень владения этим языком. Погрузимся в обсуждение советов и рекомендаций, в равной степени полезных и начинающим, и профи.
preview
Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)

Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)

В статье описан инновационный подход в области оптимизации, сочетающий пространственную конкуренцию решений с адаптивным сужением пространства поиска, делая Battle Royale Optimizer перспективным инструментом для финансового анализа.
preview
Введение в MQL5 (часть 9): Использование объектов на графике

Введение в MQL5 (часть 9): Использование объектов на графике

В этой статье мы научимся создавать и настраивать объекты графиков в MQL5, используя текущие и исторические данные. Здесь также представлено практическое руководство, с которым вы сможете отображать сделки на графике и использовать другие объекты MQL5 на практике.
preview
Скальперский советник Ilan 3.0 Ai с машинным обучением

Скальперский советник Ilan 3.0 Ai с машинным обучением

Помните советник Ilan 1.6 Dymanic? Попробуем улучшить его с помощью машинного обучения! Реанимируем старую разработку в статье и добавляем машинное обучение с Q-таблицей. По шагам.
preview
Оптимизация нейробоидами — Neuroboids Optimization Algorithm 2 (NOA2)

Оптимизация нейробоидами — Neuroboids Optimization Algorithm 2 (NOA2)

Новый авторский алгоритм оптимизации NOA2 (Neuroboids Optimization Algorithm 2), объединяет принципы роевого интеллекта с нейронным управлением. NOA2 сочетает механику поведения стаи нейробоидов с адаптивной нейронной системой, позволяющей агентам самостоятельно корректировать свое поведение в процессе поиска оптимума. Алгоритм находится на стадии активной разработки и демонстрирует потенциал для решения сложных задач оптимизации.
preview
Разрабатываем мультивалютный советник (Часть 25): Подключаем новую стратегию (II)

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

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

Разработка системы репликации (Часть 73): Неожиданный способ оповещений (II)

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 37): Регрессия гауссовских процессов с линейными ядрами и ядрами Матерна

Линейные ядра — простейшая матрица, используемая в машинном обучении для линейной регрессии и опорных векторных машин. Ядро Матерна (Matérn) представляет собой более универсальную версию радиальной базисной функции (Radial Basis Function, RBF), которую мы рассматривали в одной из предыдущих статей, и оно отлично подходит для отображения функций, которые не настолько гладкие, как предполагает RBF. Создадим специальный класс сигналов, который использует оба ядра для прогнозирования условий на покупку и продажу.
preview
Разработка системы репликации (Часть 72): Неожиданный способ оповещений (I)

Разработка системы репликации (Часть 72): Неожиданный способ оповещений (I)

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

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

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

Разработка системы репликации (Часть 71): Настройка времени (IV)

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

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

Ранее мы обсуждали советник на основе индикатора, который также работал в паре с независимым скриптом для построения структуры риска и вознаграждения. Сегодня мы обсудим архитектуру MQL5-советника, объединяющего все функции в одной программе.
preview
Оптимизация нейробоидами — Neuroboids Optimization Algorithm (NOA)

Оптимизация нейробоидами — Neuroboids Optimization Algorithm (NOA)

Новая авторская биоинспирированная метаэвристика оптимизации — NOA (Neuroboids Optimization Algorithm), объединяющая принципы коллективного интеллекта и нейронных сетей. В отличие от классических методов, алгоритм использует популяцию самообучающихся "нейробоидов", каждый с собственной нейросетью, адаптирующей стратегию поиска в реальном времени. Статья раскрывает архитектуру алгоритма, механизмы самообучения агентов и перспективы применения этого гибридного подхода в сложных задачах оптимизации.
preview
Разработка системы репликации (Часть 70): Настройка времени (III)

Разработка системы репликации (Часть 70): Настройка времени (III)

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

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

Сегодня мы рассмотрим, зачем нам нужна функция iSpread. Одновременно с этим мы поймем, как система информирует нас об оставшемся времени бара, когда для этого нет ни одного доступного тика. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
preview
Алгоритм успешного ресторатора —  Successful Restaurateur Algorithm (SRA)

Алгоритм успешного ресторатора — Successful Restaurateur Algorithm (SRA)

Алгоритм успешного ресторатора (SRA) — инновационный метод оптимизации, вдохновленный принципами управления ресторанным бизнесом. В отличие от традиционных подходов, SRA не отбрасывает слабые решения, а улучшает их, комбинируя с элементами успешных. Алгоритм показывает конкурентоспособные результаты и предлагает свежий взгляд на балансирование между исследованием и эксплуатацией в задачах оптимизации.
preview
Бильярдный алгоритм оптимизации — Billiards Optimization Algorithm (BOA)

Бильярдный алгоритм оптимизации — Billiards Optimization Algorithm (BOA)

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

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

В данной статье рассмотрим как нам подключить новую стратегию к созданной системе автоматической оптимизации. Посмотрим, какие советники нам понадобится создать и можно ли будет обойтись без изменений файлов библиотеки Advisor или свести необходимые изменения к минимуму.
preview
Оптимизация хаотичной игрой — Chaos Game Optimization (CGO)

Оптимизация хаотичной игрой — Chaos Game Optimization (CGO)

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

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

Мы стремимся создать систему автоматической периодической оптимизации торговых стратегий, используемых в одном итоговом советнике. С развитием система становится всё более сложной, поэтому время от времени надо смотреть на неё в целом с целью выявления узких мест и неоптимальных решений.
preview
Оптимизация наследованием крови — Blood inheritance optimization (BIO)

Оптимизация наследованием крови — Blood inheritance optimization (BIO)

Представляю вашему вниманию мой новый популяционный алгоритм оптимизации BIO (Blood Inheritance Optimization), вдохновленный системой наследования групп крови человека. В этом алгоритме каждое решение имеет свою "группу крови", определяющую способ его эволюции. Как и в природе, группа крови ребенка наследуется по особым правилам, в BIO новые решения получают свои характеристики через систему наследования и мутаций.
preview
Разработка системы репликации (Часть 68): Настройка времени (I)

Разработка системы репликации (Часть 68): Настройка времени (I)

Сегодня мы продолжим работу над тем, чтобы заставить указатель мыши сообщать нам об оставшемся времени бара в периоды низкой ликвидности. Хотя на первый взгляд кажется, что всё просто, на самом деле эта задача гораздо сложнее. Это связано с некоторыми препятствиями, которые нам придется преодолеть. Поэтому важно, чтобы вы хорошо усвоили материал из первой части данной серии, чтобы понять следующие части.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (I)

Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (I)

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

Разработка системы репликации (Часть 67): Совершенствуем индикатор управления

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

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

Если мы взялись за автоматизацию проведения периодической оптимизации, то надо позаботиться и об автоматическом обновлении настроек советников, которые уже работают на торговом счёте. Также это должно позволять запускать советник в тестере стратегий и менять его настройки в рамках одного прохода.
preview
Алгоритм поиска по кругу — Circle Search Algorithm (CSA)

Алгоритм поиска по кругу — Circle Search Algorithm (CSA)

В статье представлен новый метаэвристический алгоритм оптимизации CSA (Circle Search Algorithm), основанный на геометрических свойствах окружности. Алгоритм использует принцип движения точек по касательным для поиска оптимального решения, сочетая фазы глобального исследования и локальной эксплуатации.
preview
Разработка системы репликации (Часть 66): Нажатие кнопки воспроизведения в сервисе (VII)

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

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

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

В данной статье мы рассмотрим, как реализовать и решить проблему с указателем мыши при его использовании в сочетании с приложением репликации/моделирования. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Разработка системы репликации (Часть 64): Нажатие кнопки воспроизведения в сервисе (V)

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

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

Разработка торговой системы на основе стакана цен (Часть I): индикатор

Стакан цен Depth of Market, несомненно, является очень важным элементом для выполнения быстрых сделок, особенно в алгоритмах высокочастотного трейдинга (HFT). В этой серии статей мы рассмотрим этот тип торговых событий, которые можно получить через брокера на многих торгуемых символах. Начнем с индикатора, в котором можно настроить цветовую палитру, положение и размер гистограммы, отображаемой непосредственно на графике. Мы также рассмотрим, как сгенерировать события BookEvent для тестирования индикатора в определенных условиях. Другие возможные темы для будущих статей - это хранение данных ценовых распределений и способы их использования в тестере стратегий.
preview
Разработка системы репликации (Часть 63): Нажатие кнопки воспроизведения в сервисе (IV)

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

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

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

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

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

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

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

Мы уже давно работаем только над индикаторами, но теперь пришло время снова заставить сервис работать, и мы видим, как строится график на основе предоставленных данных. Однако, поскольку не всё так просто, придется быть внимательным, чтобы понять то, что ждет нас впереди.
preview
Алгоритм циклического партеногенеза — Cyclic Parthenogenesis Algorithm (CPA)

Алгоритм циклического партеногенеза — Cyclic Parthenogenesis Algorithm (CPA)

В данной статье рассмотрим новый популяционный алгоритм оптимизации CPA (Cyclic Parthenogenesis Algorithm), вдохновленный уникальной репродуктивной стратегией тлей. Алгоритм сочетает два механизма размножения — партеногенез и половое, а также использует колониальную структуру популяции с возможностью миграции между колониями. Ключевыми особенностями алгоритма являются адаптивное переключение между различными стратегиями размножения и система обмена информацией между колониями через механизм перелета.
preview
Разработка системы репликации (Часть 59): Новое будущее

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

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

Пользовательский индикатор: Отображение сделок входа, выхода и разворота позиции на неттинговых счетах

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

Разработка системы репликации (Часть 58): Возвращаемся к работе над сервисом

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