Bibliotecas: MultiTester - página 29

 
pcdeni #:

Portanto, não.

 
Gerenciar o LiveUpdate do terminal.
// Mudança do estado de LiveUpdate do terminal.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/pt/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 #:
Gerenciamento do Terminal LiveUpdate.
Obrigado a você!
 
Ativar/desativar a gravação de registros durante a otimização no disco.
// // Ativar/desativar os registros do testador (otimização).
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/pt/code/26132

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

sinput bool INPUT_TESTER_LOG = true; // Ativar/desativar os registros do testador

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;


Ativar.


Desligar (acelerar a otimização).


S

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Erros, bugs, perguntas

fxsaber, 2022.09.04 17:55

#property script_show_inputs

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

sinput bool inTesterLog = true; // Ativar/desativar os registros do testador

void OnStart()
{
  MessageBox("TesterLog - " + ((inTesterLog ? MTTESTER::TesterLogON(true) : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
}
 
Adicionada ao MTTester.mqh uma solução alternativa para possíveis conflitos ao trabalhar com testadores paralelos.
Несколько MT5-тестеров параллельно на одной машине.
Несколько MT5-тестеров параллельно на одной машине.
  • www.mql5.com
Автоматизация MT5-Тестера потребовала параллельного использования нескольких Тестеров на одной машине: оптимизация ( MultiTester ) и одиночные проходы ( Validate и TesterDashboard ). Необходимость
 

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

Observe o endereço destacado de cada agente na captura de tela: 127.0.0.1:30xx. Eles não se sobrepõem. Ou seja, cada núcleo da CPU é ocupado por seu próprio agente. O MT5 aloca os agentes da maneira correta.

Pergunta sobre a frase do blog. Não tenho certeza de que a alocação automática de processos por número de porta garanta que eles sejam distribuídos por diferentes núcleos sem possível sobreposição. Quantos núcleos existem na captura de tela acima? E, por exemplo, o que acontece se você executar duas otimizações em paralelo?

 
Stanislav Korotky #:

Pergunta sobre uma frase do blog. Não tenho certeza se o particionamento automático de processos por número de porta garante que eles sejam distribuídos em diferentes núcleos sem possível sobreposição. Quantos núcleos existem na captura de tela acima? E, por exemplo, o que acontece se você executar duas otimizações em paralelo?

Há 20 núcleos na captura de tela: 18 para otimização em um terminal e um para passes únicos - outro terminal. O TaskManager mostra que 19 núcleos de 20 estão totalmente carregados (5% cada). Livre ~4%.

Não pratiquei a otimização em paralelo. Não há necessidade por enquanto.

 
fxsaber #:

Há 20 núcleos na tela: 18 para otimização em um terminal e um para passagens únicas - outro terminal. O TaskManager mostra que 19 núcleos dos 20 estão totalmente carregados (5% cada). Livre ~4%.

Obrigado. Pelo que entendi, trata-se apenas de "paralelização" do acesso a arquivos, e as configurações de núcleos para agentes ainda precisam ser feitas manualmente?

 
Stanislav Korotky #:

Obrigado. Pelo que entendi, trata-se apenas de "paralelização" do acesso a arquivos,

Acesso à área de transferência do sistema. Não se trata dos arquivos.

Ainda preciso fazer as configurações do kernel do agente manualmente?

Eu não faço nada.

 
fxsaber #:

Acesso à área de transferência do sistema. Os arquivos não estão envolvidos.

Não estou fazendo nada.

Não vi nas alterações do código-fonte que algo foi feito com a área de transferência.

Se você executar a otimização, ela não utilizará todos os núcleos disponíveis de uma só vez? Não entendo como um único teste "tirou" um núcleo da otimização (na verdade, até mesmo dois agentes de otimização do MT estão marcados como desativados).