MetaTrader 5 Strategy Tester!

 

Сегодня была выпущена бета-версия MetaTrader 5 Strategy Tester. Эта программа входит в состав клиентского терминала MetaTrader 5 и предназначена для тестирования и оптимизации советников (MQL5 Expert Advisors).

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



По сравнению с тестером для MetaTrader 4, новый MetaTrader 5 Strategy Tester стал еще мощнее и точнее. Кроме того, в нем появилась функция распределенной оптимизации, которая будет полезной при работе со сложными экспертами. Мультивалютные советники также не остались без внимания, и в MetaTrader 5 Strategy Tester их также можно тестировать.

"Тестер Стратегий - последний компонент из набора необходимых инструментов для полноценной разработки экспертов. В этот набор также выходят: язык MQL5, редактор экспертов, отладчик и модуль исполнения в терминале MetaTrader 5. Отсутствие тестера было последним камнем преткновения перед широкими возможностями, которые дает среда MQL5. Мы надеемся, что с выходом MetaTrader 5 Strategy Tester количество новых MQL5-экспертов резко возрастет", - заявил Станислав Стариков, ведущий разработчик клиентских терминалов MetaTrader 4/5 и языков MQL4/5.

Я нашел баг!

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

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

С уважением,
MetaQuotes Software Corp.

 

Предлагаю добавить опцию: "Двойная оптимизация с нулевым спрэдом". 

Алгоритм: Расчёт профита производится без учета спредов, комиссий, свопов и прочих выплат.  Генетический алгоритм работает на максимизацию модуля профита (или кастом функции).

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 

Просьба реализовать:

1. Отключение ядер локального процессора при тестировании и оптимизации.

2. Перенос сделок на график после тестирования.

3. Визуализация тестирования, аналогично тестеру MT4.


 
MetaDriver:

Предлагаю добавить опцию: "Двойная оптимизация с нулевым спрэдом". 

Этого не будет ни в коем случае.
 
jmiller:

Просьба реализовать:

1. Отключение ядер локального процессора при тестировании и оптимизации.

2. Перенос сделок на график после тестирования.

3. Визуализация тестирования, аналогично тестеру MT4.

Это все будет - уже в работе.
 

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

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

 
MetaDriver:

Генетический алгоритм работает на максимизацию модуля профита (или кастом функции).

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

----------- 

Хотелось бы услышать мнение Renat'а, что думается в недрах MQ просто о возможности указывать свой спред? За чем это нужно я уже писал, но могу повториться. Пример наоборот:

Весь месяц спред был 1 п, с сегодняшенего дня и навсегда спред 30 п. Оптимизируем советник за месяц, получаем параметры отлично работающие со спредом 1 пункт, начинаем торговать с этими параметрами и.... - полная задница+МК. Трейдеры будут недовольны)

 
Renat:
Этого не будет ни в коем случае.

Ренат, Ваше "ни в коем случае", наводит на мысль, что я брякнул нечто очень матерное.

Как будто бы тут дело не в технических сложностях (которые с лихвой окупаются двойной производительностью), а в каких-то моральных принципах.

Боитесь злоупотреблений "подгонкой под историю"?  Или ещё что-нибудь ужасное?

Или я ошибаюсь дело просто в больших технических трудностях реализации подобной стратегии оптимизации?

Ответьте, пожалуйста, почему именно "ни в коем случае". Я честно не понял происхождения такой реакции со стороны разработчиков.


 
Figar0:

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

Кастомная целевая функция уже предусмотрена. Уже и пользоваться можно. Другое дело, что оптимизатор отбрасывает половину ценных (во многих случаях) результатов. Например, мне нужно разделить рыночные явления на две категории. Я делаю соответствующую кастомную функцию, которая выдаёт в результат в диапазоне [-1, +1], и  запускаю подбор параметров в оптимизаторе. И мне важно модуль корреляции увеличить, знак я и сам могу перевернуть, в случае необходимости.

Что до технических сложностей - они невелики, в сравнении с повышением производительности.  Технически можно  вообще очень красиво сделать - в том же пространстве, не удваивая объёмы таблиц.

 
MetaDriver:

Ответьте, пожалуйста, почему именно "ни в коем случае". Я честно не понял происхождения такой реакции со стороны разработчиков.

Условия тестов могут ухудшаться (мы специально введем такие режимы тестирования), но никак не улучшаться. Спред мы тоже устанавливать не дадим, а будем работать над корректурой более точного спреда на всей истории.

Одна из наших задач - уменьшить количество необоснованных граалей в тестере. Фактически в МТ5 тестере мы доведем ситуацию до того, что доверие будет только к тестам, проведенным в агрессивном режиме тестирования. Правда это не решит проблему подгонки, но у нас есть режим форвардного тестирования, что снимет часть вопросов.


Другое дело, что оптимизатор отбрасывает половину ценных (во многих случаях) результатов. Например, мне нужно разделить рыночные явления на две категории. Я делаю соответствующую кастомную функцию, которая выдаёт в результат в диапазоне [-1, +1], и  запускаю подбор параметров в оптимизаторе.

Попробуйте выставить диапазон изменений побольше, не [-1 и +1], чтобы тестер не работал с очень мелкими различиями, укладывающимися в погрешность.

 

Лучший тестер - демо счёт.

Причина обращения: