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

icon

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

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

Новая статья
последние | лучшие
preview
Теория категорий в MQL5 (Часть 7): Мульти-, относительные и индексированные домены

Теория категорий в MQL5 (Часть 7): Мульти-, относительные и индексированные домены

Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который лишь недавно начал освещаться в MQL5-сообществе. Эта серия статей призвана рассмотреть некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
preview
Разработка системы репликации - Моделирование рынка (Часть 15): Появление СИМУЛЯТОРА (V) - СЛУЧАЙНОЕ БЛУЖДАНИЕ

Разработка системы репликации - Моделирование рынка (Часть 15): Появление СИМУЛЯТОРА (V) - СЛУЧАЙНОЕ БЛУЖДАНИЕ

В этой статье мы завершим разработку симулятора для нашей системы. Основной целью здесь будет настройка алгоритма, рассмотренного в предыдущей статье. Этот алгоритм направлен на создание движения СЛУЧАЙНОГО БЛУЖДАНИЯ. Поэтому, для понимания сегодняшнего материала, необходимо понять содержание предыдущих статей. Если вы не следили за развитием симулятора, советую посмотреть эту последовательность с самого начала. В противном случае вы можете запутаться в том, что будет здесь объяснено.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 12): Полином Ньютона

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

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

Теория категорий в MQL5 (Часть 13): События календаря со схемами баз данных

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

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

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

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

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

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

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

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

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

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

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

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

Если до этого момента вам всё казалось правильным, это значит, что вы на самом деле не задумываетесь о долгосрочной перспективе. Когда вы начинаете разрабатывать приложения, а со временем вам больше не приходится создавать новые приложения. Остается только добиться того, чтобы они работали вместе. Давайте рассмотрим, как завершить сборку указателя мыши.
preview
Разработка системы репликации - Моделирование рынка (Часть 16): Новая система классов

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

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

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

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

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

Статья продолжает серию о реализации теории категорий в MQL5, рассматривая функторы как мост между графами и множеством. Мы вновь обратимся к календарным данным и, несмотря на их ограничения в использовании тестера стратегий, обоснуем использование функторов в прогнозировании волатильности с помощью корреляции.
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
Возможности Мастера MQL5, которые вам нужно знать (Часть 23): CNN

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

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

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

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

Теория категорий в MQL5 (Часть 5): Эквалайзеры

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

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

Здесь мы рассмотрим, как более надежные данные (торгуемые тики) можно использовать в системе репликации, не беспокоясь о том, скорректированы они или нет.
preview
Разработка системы репликации - Моделирование рынка (Часть 18):  Тики и еще больше тиков (II)

Разработка системы репликации - Моделирование рынка (Часть 18): Тики и еще больше тиков (II)

В данном случае предельно ясно, что метрики очень далеки от идеального времени создания 1-минутного бара. Так что это первое, что мы действительно исправим. Исправить проблему синхронизации не сложно. Каким бы невероятным это ни казалось, на самом деле всё довольно просто. Однако мы не внесли исправление в предыдущую статью, потому что целью было объяснить, как перенести в окно Обзора рынка тиковые данные, которые использовались для создания 1-минутных баров на графике.
preview
Разработка системы репликации - Моделирование рынка (Часть 21):  ФОРЕКС (II)

Разработка системы репликации - Моделирование рынка (Часть 21): ФОРЕКС (II)

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

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

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

Разработка системы репликации (Часть 50): Все усложняется (II)

Мы решим проблему ID графиков, но в то же время начнем обеспечивать пользователю возможность использования личного шаблона, ориентированного на анализ того актива, который он хочет изучить и смоделировать. Представленные здесь материалы носят исключительно дидактический характер, ни в коем случае нельзя рассматривать их как приложение с никакой иной целью, кроме изучения и освоения представленных концепций.
preview
Теория категорий в MQL5 (Часть 14): Функторы с линейным порядком

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

Эта статья из серии статей о реализации теории категорий в MQL5 посвящена функторам. Мы исследуем, как линейный порядок может быть отображен на множестве благодаря функторам при рассмотрении двух множеств данных, между которыми на первый взгляд отсутствует всякая связь.
preview
Разработка системы репликации (Часть 38): Прокладываем путь (II)

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

Многие люди, которые считают себя программистами на MQL5, не обладают базовыми знаниями, которые мы изложим в этой статье. Многие считают MQL5 ограниченным инструментом, однако всё дело в недостатке знаний. Так что если вы чего-то не знаете, не стыдитесь этого. Лучше пусть вам будет стыдно за то, что вы не спросили. Простое принуждение MetaTrader 5 к запрету дублирования индикатора никоим образом не обеспечивает двустороннюю связь между индикатором и советником. Мы еще очень далеки от этого, но тот факт, что индикатор не дублируется на графике, дает нам некоторое утешение.
preview
Алгоритм атомарного орбитального поиска — Atomic Orbital Search (AOS)

Алгоритм атомарного орбитального поиска — Atomic Orbital Search (AOS)

В статье рассматривается алгоритм AOS (Atomic Orbital Search), который использует концепции атомной орбитальной модели для моделирования поиска решений. Алгоритм основывается на вероятностных распределениях и динамике взаимодействий в атоме. В статье подробно обсуждаются математические аспекты AOS, включая обновление положений кандидатов решений и механизмы поглощения и выброса энергии. AOS открывает новые горизонты для применения квантовых принципов в вычислительных задачах, предлагая инновационный подход к оптимизации.
preview
Популяционные алгоритмы оптимизации: Устойчивость к застреванию в локальных экстремумах (Часть II)

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

Продолжение эксперимента, цель которого - исследовать поведение популяционных алгоритмов оптимизации в контексте их способности эффективно покидать локальные минимумы при низком разнообразии в популяции и достигать глобальных максимумов. Результаты исследования.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 44): Технический индикатор Average True Range (ATR)

Возможности Мастера MQL5, которые вам нужно знать (Часть 44): Технический индикатор Average True Range (ATR)

Осциллятор ATR — очень популярный индикатор, используемый в качестве индикатора волатильности, особенно на валютных рынках, где данные об объемах скудны. Как и в случае с предыдущими индикаторами, мы рассмотрим паттерны и поделимся стратегиями и отчетами о тестировании.
preview
Сеточный советник на дивергенции RSI с риск-менеджером в MQL5

Сеточный советник на дивергенции RSI с риск-менеджером в MQL5

Простая сеточная стратегия превращается в выживающую систему за счёт трёх компонентов: фильтра входа на основе дивергенции RSI, жёсткого ограничения числа уровней в сетке и независимого риск-менеджера, который ежетиково контролирует equity и блокирует торговлю при достижении дневного лимита или максимальной просадки. В статье разобрана математика классической мартингейл-ловушки, реализация поиска pivot-точек и дивергенций RSI на MQL5, полный код класса CRiskManager с защитой от плавающих убытков, а также архитектура самой сетки с TP от средневзвешенной цены входа.
preview
Популяционные алгоритмы оптимизации: Искусственные мультисоциальные поисковые объекты (artificial Multi-Social search Objects, MSO)

Популяционные алгоритмы оптимизации: Искусственные мультисоциальные поисковые объекты (artificial Multi-Social search Objects, MSO)

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

Разработка системы репликации - Моделирование рынка (Часть 02): Первые эксперименты (II)

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

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

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

Перестановка ценовых баров в MQL5

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

Разработка системы репликации - Моделирование рынка (Часть 25): Подготовка к следующему этапу

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

Изучение MQL5 — от новичка до профи (Часть VII): Принципы отладки приложений MQL

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

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

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

Передовые методы управления и оптимизации памяти в MQL5

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

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

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