testador de estratégia em modo de optimização "Lento (enumeração completa de parâmetros" - a que valor total de passos de optimização muda para optimização genética?
ZS: ficaria grato se houvesse uma metodologia para fazer uma pesquisa completa para que a optimização genética não seja activada
O terminal MT4 fecha periodicamente de forma espontânea, não há nada sobre ele no diário de bordo do terminal e nada nos eventos dos ganhos. Como pode ser determinada a causa de tais colisões?
O defeito do depurador ME (build 2370) - StepInto (F11) e os pontos de ruptura definidos não funcionam. O problema é que se a acção StepOver (F10) for aplicada a uma chamada de função pelo menos uma vez, não há maneira de depurar esta função mais tarde.
void Increment(int &n){
++n;
};
void test(){
int n = 0;
for(int i = 0; i < 100; ++i){
DebugBreak();
Increment(n);
}
}
voidOnStart(){
test();
}
Passos para a reprodução: 1) Executar o código em modo de depuração; 2) Depois de um ponto de parada ser accionado, executar StepOver (F10) duas vezes;
É isso - agora não há maneira de "entrar" na funçãoIncremento, todos os pontos de quebra definidos manualmente não funcionam, e em vez da operação StepInto (F11) é de facto executada StepOver (F10).
Um defeito no depurador ME(build 2370) - após ser accionado umponto de interrupção em vez de continuar a execução do código pressionando (F5), o mesmoponto de interrupçãoé efectivamente accionado novamentesem executar qualquer código.
#include <Generic\ArrayList.mqh>
voidOnStart(){
CArrayList<int> arr;
for(int i = 0; i < 5; ++i){
arr.Add(i);
arr.Add(2*i);
}
}
Passos de repetição: 1) Definir manualmenteo ponto de quebra para ambas as linhas " arr.Add()"; 2) Iniciar a depuração (F5); 3) Utilizar PCM para abrir o ficheiro <Generic\ArrayList.mqh> aninhado num novo separador. 4) Encontrar a linha "if(m_size==ArraySize(m_items))" na função "bool CArrayList::Add(T item)" e definiro ponto de quebra manualmente. 5) Enquanto estiver no separador "ArrayList.mqh", continuar a executar o código (F5).
Istodesencadeará o mesmoponto de quebra que antes, sem qualquer execução de código real.
Bug MT5 (build 2370) - o ponto de quebra no método de estrutura estática faz com que o terminal MT fique pendurado. Como resultado, não é de todo possível debugar o códigodo método da estrutura estática:
Testador de Estratégia no modo "Lento (optimização da força bruta completa)" - a que valor total de passos de optimização muda para a optimização genética?
Encontrei esta correspondência, e acho que a li quando aconteceu - o resultado é uma proibição de membros, por isso quis encontrar a fonte original
Testei em modo de pesquisa completa por um parâmetro - os passes são numerados fora de sequência, em geral, pesquisa completa - funciona de acordo com alguma lógica dos programadores, não com o conceito semântico
testado em modo de pesquisa completa por um parâmetro - os passes são numerados fora de sequência, em geral pesquisa completa - funciona de acordo com alguma lógica dos programadores, não com o conceito semântico
Assim, as tarefas são distribuídas em pacotes aos agentes.
1-100 para a primeira, 101-200 para a segunda, etc.
E nos resultados aparecem à medida que entram (1, 101, 2, 102, etc.).
Optimização de lotes.
O problema é que se a acção StepOver (F10) for aplicada a uma chamada de função pelo menos uma vez, não há maneira de depurar esta função mais tarde.
Passos para a reprodução:
1) Executar o código em modo de depuração;
2) Depois de um ponto de parada ser accionado, executar StepOver (F10) duas vezes;
É isso - agora não há maneira de "entrar" na funçãoIncremento, todos os pontos de quebra definidos manualmente não funcionam, e em vez da operação StepInto (F11) é de facto executada StepOver (F10).
Um defeito no depurador ME(build 2370) - após ser accionado umponto de interrupção em vez de continuar a execução do código pressionando (F5), o mesmoponto de interrupçãoé efectivamente accionado novamentesem executar qualquer código.
Passos de repetição:
1) Definir manualmenteo ponto de quebra para ambas as linhas " arr.Add()";
2) Iniciar a depuração (F5);
3) Utilizar PCM para abrir o ficheiro <Generic\ArrayList.mqh> aninhado num novo separador.
4) Encontrar a linha "if(m_size==ArraySize(m_items))" na função "bool CArrayList::Add(T item)" e definiro ponto de quebra manualmente.
5) Enquanto estiver no separador "ArrayList.mqh", continuar a executar o código (F5).
Istodesencadeará o mesmoponto de quebra que antes, sem qualquer execução de código real.
Como resultado, não é de todo possível debugar o códigodo método da estrutura estática:
Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos
Pergunta aos programadores - Utilização de todos os núcleos computacionais durante a optimização
Andrey Dik, 2020.03.26 23:31
Pode configurar até 100 milhões de passos para que o optimizador não mude para a genética.
Encontrei esta correspondência, e acho que a li quando aconteceu - o resultado é uma proibição de membros, por isso quis encontrar a fonte original
Testei em modo de pesquisa completa por um parâmetro - os passes são numerados fora de sequência, em geral, pesquisa completa - funciona de acordo com alguma lógica dos programadores, não com o conceito semântico
testado em modo de pesquisa completa por um parâmetro - os passes são numerados fora de sequência, em geral pesquisa completa - funciona de acordo com alguma lógica dos programadores, não com o conceito semântico
Assim, as tarefas são distribuídas em pacotes aos agentes.
1-100 para a primeira, 101-200 para a segunda, etc.
E nos resultados aparecem à medida que entram (1, 101, 2, 102, etc.).
Fácil de classificar.
Assim, as tarefas são distribuídas em pacotes aos agentes.
1-100 para a primeira, 101-200 para a segunda, etc.
E nos resultados aparecem à medida que entram (1, 101, 2, 102, etc.).
Fácil de classificar.
OK, essa é uma boa resposta, é mais ou menos correcta, é pena que a fonte original nunca tenha sido encontrada,
resta saber em que número total de passes será incluída a AG, até agora parece que 100 000 000 de passes, pois as minhas tarefas são suficientes