Bibliotecas: MultiTester - página 19

 
Edgar Akhmadeev:

Na verdade, não estou falando do programa MultiTester específico, mas da base do clicker, que eu retirei. Tenho o clicker configurado em muitos campos antes da otimização, e algo mudou ali.

Tudo pode ser feito sem os métodos de botão MTTester.mqh. A área de transferência oferece controle total.

 
fxsaber:

Tudo pode ser feito sem os métodos de botão MTTester.mqh. A área de transferência oferece controle total.

Mais uma vez, muito obrigado pela ideia. Eu uso a área de transferência para definir parâmetros, mas a guia de configurações de otimização nem sequer me ocorreu.

 
Edgar Akhmadeev:

Mais uma vez, muito obrigado pela ideia. Eu uso a área de transferência para definir os parâmetros, mas a guia de configurações de otimização nem sequer me ocorreu.

MTTESTER::GetSettings
MTTESTER::SetSettings2
 
fxsaber:

Uma boa demonstração de por que é útil fazer vários GAs seguidos.

Aqui estão cinco AGs.

Como fazer vários AGs seguidos? Eu sempre tenho um pico. E a imagem fica assim:

Opção

 
HimOrik:

Como você faz várias AGs seguidas?

Execute-o várias vezes. Ou use o MTTester.mqh, pois assim tudo será facilmente automatizado.

 
fxsaber:

Execute-o várias vezes. Ou fume o MTTester.mqh, assim tudo será facilmente automatizado.

Obrigado, estou tentando. "Execute-o várias vezes. " - você precisa definir conjuntos muito diferentes de parâmetros de entrada para encontrar extremos diferentes? Até o momento, várias passagens do GA fornecem resultados semelhantes.

É disso que se trata:

"

fxsaber 2020.03.10 09:09 #164 RU

Por favor, compartilhe sua experiência sobre como fazer o GA corretamente. Eu me deparei com uma situação em que o GA encontra apenas um dos extremos locais necessários.

"

Onde procurar para obter conjuntos diferentes?

fxsaber
fxsaber
  • www.mql5.com
Добавил тему MT5 и скорость в боевом исполнении MT5 - шустрая платформа. Но есть узкие горлышки, которые сводят на нет все старания быстрой торговли. Хотелось бы собрать проблемы здесь, обсудить и решить их где-то своими силами, где-то с помощью Разработчиков Добавил тему Лимитники/тейки по текущей цене в Терминале (не в Тестере) Сабж...
 
HimOrik:

Obrigado, estou tentando. "Execute-o várias vezes. " - você precisa definir conjuntos muito diferentes de parâmetros de entrada para encontrar extremos diferentes? Até agora, várias execuções do GA apresentaram resultados semelhantes.

É disso que se trata:

"

fxsaber 2020.03.10 09:09 #164 RU

Por favor, compartilhe sua experiência sobre como fazer o GA corretamente. Enfrentei uma situação em que o GA encontrou apenas um dos extremos locais necessários.

"

Onde procurar para obter conjuntos diferentes?

Conjuntos diferentes de máximos locais podem simplesmente não existir. O máximo local de um conjunto de parâmetros pode ser um e, se for suave, é melhor do que agudo).

 
HimOrik:

Como você faz várias AGs seguidas? Eu sempre tenho um pico. E a imagem é assim:

Para obter várias passagens em um gráfico, é necessário executá-lo várias vezes sem alterar os parâmetros.
 

Quando for necessário executar a otimização no modo por todos os símbolos da Observação do mercado (o alvo é um único arquivo de opção) e um determinado grupo de símbolos for necessário, isso pode ser feito por meio de um Consultor especialista em execução no Terminal.


Esse Expert Advisor remove todos os símbolos desnecessários da Observação do mercado e, no final da Otimização, restaura a lista anterior de símbolos. Tudo isso é óbvio.


Outro recurso do MT5 é interessante. Se você quiser remover o EURUSD da Observação do Mercado e o EA estiver sendo executado no gráfico EURUSD. Isso é resolvido executando ChartSetSymbolPeriod para si mesmo, mas, ao mesmo tempo (importante!), fazendo com que OnInit retorne com êxito.


Esse método também pode ser usado no Market. Por exemplo, o Market Expert Advisor funciona apenas no AUDJPY. Então, o usuário pode permitir que o Expert Advisor seja executado no gráfico de qualquer símbolo/TF. O próprio Expert Advisor mudará esse gráfico para o desejado.

 
// Proteção do terminal contra fechamento. Execute esse Expert Advisor uma vez em um terminal ativo.

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

int OnInit()
{
  const bool Res = MQLInfoInteger(MQL_TESTER);
  
  if (!Res)
  {
    string Settings;
    
    while (!IsStopped() && !MTTESTER::GetSettings(Settings))
      ;
  
    if (MTTESTER::IsReady())
    {
      Settings = "[Tester]\nExpert=" + StringSubstr(MQLInfoString(MQL_PROGRAM_PATH),
                                                    StringLen(TerminalInfoString(TERMINAL_DATA_PATH)) + StringLen("\\MQL5\\Experts\\")) + 
                 "\nOptimization=0\nModel=3";
  
      while (!IsStopped())
        if (MTTESTER::SetSettings2(Settings))
        {
          MTTESTER::ClickStart(false);
          
          break;
        }
    }
    
  }
      
  return(!Res);
}

double OnTester()
{
  while (!IsStopped())
    ;
    
  return(0);
}

Testado no b2571.