Скрипты: Программа управления тестированием и оптимизацией

 

Программа управления тестированием и оптимизацией:

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

Author: Igor Malcev

 

Отличная программа. Очень сильно облегчает процесс оптимизации. В особенности макропрограмма 7.

Удобночитаемый формат вывода. Самое главное, внимательно читать инструкцию ;)))

5 - баллов !!!

 
Ну тогда надо просто поставить рейтинг - 10 баллов.
 

Автор молодец, отличная работа!

Но есть и ложка дегтя.

Тестируя 15 дневную копию, заметил следующие глюки.

1. Макропрограмма "StabilityTest". Тест проводится на 55 валютных парах. Примерно на 8-9 валютной паре происходит зависание терминала тестера. Связано это с терминалом или историей выясняю. Пока исключаю валютные пары на которых зависает терминал.

2. Макропрограмма "Complex". Запускается оптимизация, Все фильтруется и сортируется, получаем 12 вариантов, но вот на стабильность этих вариантов тест дальше не идет.


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

Задача:

1. Оптимизируем эксперта на всех валютных парах.

2. Оптимизируем эксперта на всех таймфреймах.

3. Оптимизируем по заданным датам

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

4. Тестируем каждый из 12 вариантов, по каждой валютной паре и по каждому таймфрейму.

5. Получаем сводную таблицу результатов.

По сути это расширенная программа "StabilityTest", но с возможностью оптимизации, а не просто тестирования на всех парах и всех таймфреймах с одинаковыми параметрами.

Автор если не затруднит, то добавь 8-м вариантом описанное выше.

 
Impeller:

Автор молодец, отличная работа!

Но есть и ложка дегтя.

Тестируя 15 дневную копию, заметил следующие глюки.

1. Макропрограмма "StabilityTest". Тест проводится на 55 валютных парах. Примерно на 8-9 валютной паре происходит зависание терминала тестера. Связано это с терминалом или историей выясняю. Пока исключаю валютные пары на которых зависает терминал.

2. Макропрограмма "Complex". Запускается оптимизация, Все фильтруется и сортируется, получаем 12 вариантов, но вот на стабильность этих вариантов тест дальше не идет.

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

Задача:

1. Оптимизируем эксперта на всех валютных парах.

2. Оптимизируем эксперта на всех таймфреймах.

3. Оптимизируем по заданным датам

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

4. Тестируем каждый из 12 вариантов, по каждой валютной паре и по каждому таймфрейму.

5. Получаем сводную таблицу результатов.

По сути это расширенная программа "StabilityTest", но с возможностью оптимизации, а не просто тестирования на всех парах и всех таймфреймах с одинаковыми параметрами.

Автор если не затруднит, то добавь 8-м вариантом описанное выше.

 

 

проблема зависания связана с недостаточным количеством оперативной памяти.

 

дополнительные возможности будут в следующей  версии.

 

Отличная вещь.

 

Вышла облегченная версия с GUI интерфейсом: https://www.mql5.com/ru/forum/122872

 
Подскажите, как использовать вместо дат, дни недели? Попробовал написать так
string Multy_DATA[5][2];  //массив дат
//----------------- Дата старт ---------------------- Дата стоп ---
Multy_DATA[0][0] = "DayOfWeek()==5";  Multy_DATA[0][1] = "DayOfWeek()==1";
Multy_DATA[1][0] = "DayOfWeek()==1";  Multy_DATA[1][1] = "DayOfWeek()==2";
Multy_DATA[2][0] = "DayOfWeek()==2";  Multy_DATA[2][1] = "DayOfWeek()==3";
Multy_DATA[3][0] = "DayOfWeek()==3";  Multy_DATA[3][1] = "DayOfWeek()==4";
Multy_DATA[4][0] = "DayOfWeek()==4";  Multy_DATA[4][1] = "DayOfWeek()==5";
сделки не открываются.
Причина обращения: