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

 
pcdeni #:

so, no.

 
Управление LiveUpdate терминала.
// Switching the terminal LiveUpdate state.

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

void OnStart()
{
  const bool IsLiveUpdate = MTTESTER::IsTerminalLiveUpdate();
                     
  if (MessageBox("Current LiveUpdate - " + (IsLiveUpdate ? "ON" : "OFF") + ".\n\nWant to switch?",
                 "LiveUpdate Status", MB_YESNO) == IDYES)
   MessageBox("Current LiveUpdate - " + ((IsLiveUpdate ? !MTTESTER::TerminalLiveUpdateOFF() : MTTESTER::TerminalLiveUpdateON()) ? "ON." : "OFF."));
}
 
fxsaber #:
Управление LiveUpdate терминала.
Спасибо!
 
Разрешаем/запрещаем писать логи во время Оптимизации на диск.
// // Enable/disable tester logs (Optimization).
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132

#define INPUT_TESTER_LOG inTesterLog
#define TOSTRING(A) #A

sinput bool INPUT_TESTER_LOG = true; // Enable/disable tester logs

void OnTesterInit()
{
  string Settings;
  
  if (MTTESTER::GetSettings(Settings))  
    MessageBox("TesterLog - " + (((MTTESTER::GetValue(Settings, TOSTRING(INPUT_TESTER_LOG)) == "true")
                                   ? MTTESTER::TesterLogON(true)
                                   : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
  
  ChartClose();
}

void OnTesterDeinit() {}

input int inRange = 0;


Включаем.


Выключаем (ускоряем Оптимизацию).


ЗЫ

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

Ошибки, баги, вопросы

fxsaber, 2022.09.04 17:55

#property script_show_inputs

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

sinput bool inTesterLog = true; // Enable/disable tester logs

void OnStart()
{
  MessageBox("TesterLog - " + ((inTesterLog ? MTTESTER::TesterLogON(true) : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
}
 
В MTTester.mqh добавлен обход возможных конфликтов при работе с параллельными Тестерами.
Несколько MT5-тестеров параллельно на одной машине.
Несколько MT5-тестеров параллельно на одной машине.
  • www.mql5.com
Автоматизация MT5-Тестера потребовала параллельного использования нескольких Тестеров на одной машине: оптимизация ( MultiTester ) и одиночные проходы ( Validate и TesterDashboard ). Необходимость
 

fxsaber #:
В MTTester.mqh добавлен обход возможных конфликтов при работе с параллельными Тестерами.

Обратите внимание на выделенный на скрине адрес каждого агента: 127.0.0.1:30xx. Они не пересекаются. Т.е. каждое ядро CPU занято своим агентом. MT5 распределяет агенты правильным образом.

Вопрос по фразе из блога. Не уверен, что автоматическое разнесение процессов по номерам портов гарантирует их разнесение по разным ядрам без потенциального нахлеста. Сколько всего ядер в приведенном скриншоте? И например, что будет если параллельно запустить 2 оптимизации?

 
Stanislav Korotky #:

Вопрос по фразе из блога. Не уверен, что автоматическое разнесение процессов по номерам портов гарантирует их разнесение по разным ядрам без потенциального нахлеста. Сколько всего ядер в приведенном скриншоте? И например, что будет если параллельно запустить 2 оптимизации?

На скрине 20 ядер: 18 под оптимизацию на одном терминале и одно под одиночные проходы - другой терминал. TaskManager показывает, что 19 ядер из 20 загружены на полную (5% на каждого). Свободно ~4%.

Параллельно оптимизации не практиковал. Пока нет необходимости.

 
fxsaber #:

На скрине 20 ядер: 18 под оптимизацию на одном терминале и одно под одиночные проходы - другой терминал. TaskManager показывает, что 19 ядер из 20 загружены на полную (5% на каждого). Свободно ~4%.

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

 
Stanislav Korotky #:

Спасибо. Насколько я понял, речь только о "параллелизации" доступа к файлам,

Доступ к системному буферу обмена. Файлы не при делах.

а настройки ядер под агенты все равно нужно делать ручками?

Ничего не делаю.

 
fxsaber #:

Доступ к системному буферу обмена. Файлы не при делах.

Ничего не делаю.

В изменениях исходников не увидел, чтобы именно с буфером обмена что-то делалось.

Разве если запустить оптимизацию, она не займет все доступные ядра сразу? Не врубаюсь, каким образом одиночный тест "отъел" одно ядро у оптимизации (на самом деле даже 2 агента оптимизируюшего МТ помечены как disabled).

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