Библиотеки: MultiTester - страница 8

 
Можно сделать отдельный советник для очистки экрана в комплекте мультитестера, пока MQ наконец не уберут эту свою фичу с графиками оптимизации. Кстати, возможность запуска дополнительного советника в мультитестере я собираюсь использовать для финальной обработки таблицы результатов тестирования.
 
Good Beer:
Можно сделать отдельный советник для очистки экрана в комплекте мультитестера, пока MQ наконец не уберут эту свою фичу с графиками оптимизации.
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132

void OnStart()
{
  while (MTTESTER::CloseNotChart() && !IsStopped())
    ;
}
 
fxsaber:
WOW!!!! А он там уже был. Работает! Спасибо.
 
Good Beer:
WOW!!!! А он там уже был. Работает! Спасибо.

Но хорошо и быстро работает только если скрипт бросить на график. Если его вызвать через TesterSettings.Add(), он сначала всё медленно удаляет, а потом зацикливается. Видимо !IsStopped() не видит команды завершения, а ExpertRemove() в данном случае не подходит.

 
Good Beer:

Но хорошо и быстро работает только если скрипт бросить на график. Если его вызвать через TesterSettings.Add(), он сначала всё медленно удаляет, а потом зацикливается.

Сомневаюсь, что это поможет, но попробуйте заменить эти строки

        user32::SendMessageW(handle, WM_CLOSE, 0, 0);
        Res = true;


на такую

        Res = user32::SendMessageW(handle, WM_CLOSE, 0, 0);


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

 
fxsaber:

Сомневаюсь, что это поможет, но попробуйте заменить эти строки


на такую


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

Спасибо и на этом. Всё равно эти графики оптимизации уберут, иначе это позор MQ и убожество. Лучше скрипт 1 раз бросить, 300 раз на F4 нажимать.
 
Сохраню здесь.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 2190

fxsaber, 2019.10.31 08:53

У меня в далеких планах две надстройки

  1. Вычисление оптимального портфеля для заданных сетов. Оптимизировали, выбрали понравившиеся сеты. А дальше надстройка из этих сетов соберет оптимальный портфель.
  2. Адаптивная оптимизация. Запустили надстройку, где задали с длину интервала и частоту переоптимизации. И для любого советника строится адаптивный проход. Таким образом можно очень быстро проверять робастость ТС.
нужны подобные сторонние надстройки над Тестером. Для написания их сейчас нет никаких технических ограничений. Хотелось бы, чтобы их не было и в дальнейшем.
 

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

  1. Выбираешь лучший проход для запуска одиночного прогона (через ПКМ).
  2. Если понравился, то отключаешь оптимизацию и увеличиваешь интервал.
  3. Жмешь Старт.

Больше всего уходит времени на п.2. При этом часто совершаются ошибки. Хочется полу-автоматизировать. И решение есть!


Скопируйте в буфер обмена этот текст

[Tester]
Optimization=0
FromDate=2019.01.01


Затем просто нажимайте во вкладке Настройки CTRL+V. Это автоматически будет отключать оптимизацию и выставлять нужную дату.


ЗЫ Поторопился радоваться. Входные параметры советника сбрасываются на дефолтные при таком буфере.

 
Дополнительный функционал MTTester.mqh.
 

Качественный скачок в автоматизации Тестера.


#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132

void OnStart()
{  
  MessageBox(MTTESTER::GetSettings()); // Текущие настройки Тестера

  string Settings = "[Tester]\nFromDate=2019.09.01"; // Задание даты начала интервала Тестирования
  MTTESTER::SetSettings(Settings); // Установили соответствующие настройки
}


Теперь полная свобода в автоматизации Тестера.


Огромное Спасибо @Slava за помощь!

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