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

icon

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

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

Новая статья
последние | лучшие
LifeHack для трейдера: "Тихая" оптимизация или Строим распределения трейдов
LifeHack для трейдера: "Тихая" оптимизация или Строим распределения трейдов

LifeHack для трейдера: "Тихая" оптимизация или Строим распределения трейдов

Анализ торговой истории и построение HTML графиков распределения результатов торговли в зависимости от времени входа в позицию. Графики отображаются в трех разрезах – по часам, дням недели и месяцам.
Раздельная оптимизация стратегии на тренде и флете
Раздельная оптимизация стратегии на тренде и флете

Раздельная оптимизация стратегии на тренде и флете

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

Визуализация тестирования. Расширение функциональности.

В статье описаны программные средства, которые помогут сделать тестирование стратегий максимально похожим на реальную торговлю.
Применение функции TesterWithdrawal() для моделирования снятия прибыли
Применение функции TesterWithdrawal() для моделирования снятия прибыли

Применение функции TesterWithdrawal() для моделирования снятия прибыли

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

Цветная оптимизация торговых стратегий

В данной статье будет проведен эксперимент по раскрашиванию результатов оптимизации. Как известно, цвет определяется тремя параметрами: уровнями красного, зеленого и синего цветов (RGB от анг. Red — красный, Green — зеленый, Blue — синий). Существуют и другие способы кодирования цвета, но и в них цвет кодируется тремя параметрами. Таким образом, три показателя тестирования можно превратить в один, визуально воспринимаемый человеком, в цвет. На сколько такой показатель будет полезен вы сможете узнать из статьи.
Исследование методов свечного анализа (Часть II): Автопоиск новых паттернов
Исследование методов свечного анализа (Часть II): Автопоиск новых паттернов

Исследование методов свечного анализа (Часть II): Автопоиск новых паттернов

В предыдущей статье были рассмотрены всего 14 паттернов, но, как известно, существуют и другие свечные модели. И чтобы монотонно не рассматривать всё великое многообразие остальных паттернов, было решено пойти другим путем. Теперь вашему вниманию предлагается система поиска и тестирования новых свечных моделей на основе известных типов свечей.
Самостоятельная оценка результатов тестирования эксперта
Самостоятельная оценка результатов тестирования эксперта

Самостоятельная оценка результатов тестирования эксперта

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

Работаем с результатами оптимизации через графический интерфейс

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

Моделирование временных рядов с помощью пользовательских символов по заданным законам распределения

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

Визуализация результатов оптимизации по выбранному критерию

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

Визуализируем оптимизацию торговой стратегии в MetaTrader 5

В статье реализовано MQL-приложение с графическим интерфейсом для расширенной визуализации процесса оптимизации. Графический интерфейс создан с помощью последней версии библиотеки EasyAndFast. У многих пользователей возникает вопрос, зачем нужны графические интерфейсы в MQL-приложениях. В настоящей статье продемонстрирован один из множества случаев, когда они могут быть полезными для трейдеров.
Рецепты MQL5 - Уменьшаем эффект подгонки и решаем проблему недостаточного количества котировок
Рецепты MQL5 - Уменьшаем эффект подгонки и решаем проблему недостаточного количества котировок

Рецепты MQL5 - Уменьшаем эффект подгонки и решаем проблему недостаточного количества котировок

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

Рецепты MQL5 – Стресс-тестирование торговой стратегии с помощью пользовательских символов

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

Визуализация тестирования. Графики состояния счета.

Погрузитесь в процесс тестирования с графиками, отображающими состояние счета - теперь вся необходимая информация всегда на виду!
MQL5 Cloud Network: Вы все еще считаете?
MQL5 Cloud Network: Вы все еще считаете?

MQL5 Cloud Network: Вы все еще считаете?

Прошло уже около полутора лет с момента, когда была запущена сеть распределенных вычислений MQL5 Cloud Network. Это революционное по своей значимости событие ознаменовало начало новой эры в алгоритмической торговле - ведь теперь любой трейдер в пару кликов мышки может получить в свое распоряжение сотни и тысячи вычислительных ядер для оптимизации своей торговой стратегии.
preview
Непрерывная скользящая оптимизация (Часть 4): Программа для управления оптимизацией (автооптимизатор)

Непрерывная скользящая оптимизация (Часть 4): Программа для управления оптимизацией (автооптимизатор)

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

Непрерывная скользящая оптимизация (Часть 5): Обзор проекта автооптимизатора, а также создание графического интерфейса

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

Работаем со временем (Часть 1): Основные принципы

Рассмотренные в статье функции и код помогут лучше понять принципы обработки времени, смещение времени брокера и перехода на летнее или зимнее время. Точная работа со временем — очень важный аспект трейдинга. Лондонская или нью-йоркская биржа уже открылась или еще нет? Когда начинается и заканчивается торговая сессия на форексе?
Как реализовать свой критерий оптимизации
Как реализовать свой критерий оптимизации

Как реализовать свой критерий оптимизации

Для стандртного эксперта Moving Average реализован пример оптимизации по критерию прибыль/просадка с выводом результатов в файл
preview
Брутфорс-подход к поиску закономерностей (Часть II): Погружение

Брутфорс-подход к поиску закономерностей (Часть II): Погружение

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

Нейронные сети обратного распространения ошибки на матрицах MQL5

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

Оценка качества моделирования минутных данных

Формула расчёта и оценка качества моделирования минутных данных.
Управление оптимизацией (Часть 2): Создание ключевых объектов и логики приложения
Управление оптимизацией (Часть 2): Создание ключевых объектов и логики приложения

Управление оптимизацией (Часть 2): Создание ключевых объектов и логики приложения

Данная статья является продолжением предыдущей публикации на тему создания графического интерфейса для управления оптимизациями. В ней будет рассмотрена логика работы создаваемого дополнения. Создадим обертку для терминала MetaTrader 5 для его запуска как управляемый процесс через C#. А также будет рассмотрена работа с конфигурационными файлами и файлами настроек. Логика программы же будет поделена на две части: в первой описаны методы, вызываемые после нажатия на ту или иную клавишу, а вторая часть — запуск и управление оптимизациями.
preview
Непрерывная скользящая оптимизация (Часть 3): Способ адаптации робота к автооптимизатору

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

Третья статья служит неким мостом между двумя предыдущими, в ней освещается механизм взаимодействия с DLL, написанной в первой статье, и объектами для выгрузки из второй статьи. Показывается процесс создания обертки для класса, который импортируется из DLL и формирует XML-файл с историей торгов, а также способ взаимодействии с данной оберткой.
preview
Непрерывная скользящая оптимизация (Часть 7): Стыковка логической части автооптимизатора с графикой и управление графикой из программы

Непрерывная скользящая оптимизация (Часть 7): Стыковка логической части автооптимизатора с графикой и управление графикой из программы

Данная статья является предпоследней и описывает стыковку графической части программы автооптимизатора с его логической частью. В ней рассматривается процесс запуска и оптимизации, начиная от нажатия кнопки до переадресации менеджеру оптимизаций.
preview
Брутфорс-подход к поиску закономерностей (Часть IV): Минимальная функциональность

Брутфорс-подход к поиску закономерностей (Часть IV): Минимальная функциональность

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

Визуальная оценка результатов оптимизации

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

Визуализация тестирования. История сделок.

В клиентском терминале MetaTrader 4 появилась функция визуализации тестирования. Она позволяет контролировать процесс тестирования экспертов на качественно новом уровне. Теперь трейдер-программист может наблюдать за каждым действием своего эксперта, проверяя его работу на истории!
preview
Как правильно выбирать советник в Маркете?

Как правильно выбирать советник в Маркете?

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

Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)

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

Непрерывная скользящая оптимизация (Часть 2): Механизм создания отчета оптимизации для любого робота

Если прошлая статья повествовала о создании DLL-библиотеки, которая будет использоваться в нашем автооптимизаторе и в роботе, то продолжение будет целиком посвящено языку MQL5.
Рыночная математика: прибыль, убыток, издержки
Рыночная математика: прибыль, убыток, издержки

Рыночная математика: прибыль, убыток, издержки

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

Брутфорс-подход к поиску закономерностей (Часть III): Новые горизонты

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

Непрерывная скользящая оптимизация (Часть 8): Доработка программы и исправление найденных недочетов

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

Работаем со временем (Часть 2): Функции

Научимся автоматически распознавать смещения времени у брокера и время по Гринвичу. Вместо того, чтобы обращаться к брокеру, который скорее всего даст недостаточно полный ответ (а кто захочет объяснять, куда пропал торговый час?), мы сами посмотрим, по какому времени приходят от них котировки в те недели, когда переводят часы. Но конечно же, это мы будем делать не вручную — пусть за нас работает программа.
preview
Эксперименты с нейросетями (Часть 1): Вспоминая геометрию

Эксперименты с нейросетями (Часть 1): Вспоминая геометрию

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

Популяционные алгоритмы оптимизации: Рой частиц (PSO)

В данной статье рассмотрим популярный алгоритм "Рой Частиц" (PSO — particle swarm optimisation). Ранее мы обсудили такие важные характеристики алгоритмов оптимизации как сходимость, скорость сходимости, устойчивость, масштабируемость, разработали стенд для тестирования, рассмотрели простейший алгоритм на ГСЧ.
preview
Популяционные алгоритмы оптимизации: Алгоритм обезьян (Monkey algorithm, MA)

Популяционные алгоритмы оптимизации: Алгоритм обезьян (Monkey algorithm, MA)

В этой статье рассмотрим алгоритм оптимизации "Алгоритм обезьян" (MA). Способность этих подвижных животных преодолевать сложные препятствия и добираться до самых труднодоступных вершин деревьев легли в основу идеи алгоритма MA.
preview
Популяционные алгоритмы оптимизации: Оптимизация Стаей Серых Волков (Grey Wolf Optimizer - GWO)

Популяционные алгоритмы оптимизации: Оптимизация Стаей Серых Волков (Grey Wolf Optimizer - GWO)

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

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

Вводная статья об алгоритмах оптимизации (АО). Классификация. В статье предпринята попытка создать тестовый стенд (набор функций), который послужит в дальнейшем для сравнения АО между собой, и, даже, возможно, выявления самого универсального алгоритма из всех широко известных.