Optimização no Testador de Estratégia - página 18

 
Renat:

Só faz sentido utilizar a genética se o número de passes for bem superior a 10000. No seu caso, existem apenas 817 passes e estes precisam de ser executados em modo de busca completa.

A genética funciona através da modelação de sequências genéticas para produzir indivíduos eficientes. Isto requer um certo número de populações, geralmente pelo menos 10.000 passes.

Os testes não estão terminados. Está em curso. No entanto, nas três fotografias ainda existe um desequilíbrio no número de passes. Este desequilíbrio não foi formado imediatamente, mas desde quando (número de passes) não posso dizer exactamente.
 
ForexMoneyMaker:
Os testes não estão terminados. Está em curso. No entanto, ainda existe um desequilíbrio no número de passagens nas três imagens. Este desequilíbrio não se formou imediatamente, mas exactamente a partir de quando (número de passes) não posso dizer.

Sim, compreendi mal a pergunta.

Estamos agora a trabalhar nesse sentido. Talvez esteja relacionado com a omissão de resultados "inúteis".

 
Renat:

Sim, enganei-me na pergunta.

Estamos agora a tratar do assunto. Talvez tenha a ver com a omissão de resultados "inúteis".

Aqui, a propósito, também me traz outra pergunta à cabeça:

Se o optimizador, como no meu caso, tem dificuldade em encontrar uma solução (ver que o resultado é maioritariamente zero e a optimização é muito lenta apesar de 4 núcleos e 20 agentes externos), devo ir para a optimização da força bruta total em vez do algoritmo genético?

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 
ForexMoneyMaker:

Mas se o optimizador, talvez como no meu caso, tem dificuldade em encontrar uma solução (pode ver que o resultado é basicamente zero e a optimização é muito lenta apesar de 4 núcleos e 20 agentes externos), devemos passar a optimização para a força bruta total em vez de um algoritmo genético?

Grosso modo, a genética permite sair de quase todos os poços locais através do empacotamento aleatório de parâmetros em genes.

De um modo geral, se a genética (pode fazer 2-3 testes) não encontrou nada, então também não há nada que a força bruta possa fazer ali.

 
ForexMoneyMaker:

Olá moderador!

Tenho uma pergunta: porque é que as três imagens aqui anexadas mostram um número diferente de passes de optimizador? Qual é a razão?

De acordo com a primeira fotografia, o número de passes deve ser 817. No entanto, na segunda e terceira fotografia o seu número é muito mais baixo.

Está a fazer perguntas que foram discutidas muitas vezes. E as respostas estão na ajuda. Não sou um moderador, mas vou responder.

O gráfico mostra todos os resultados excepto os marcados a vermelho. As corridas com um erro crítico são marcadas a vermelho.

Apenas resultados únicos são colocados no separador de resultados. Para corridas consecutivas, todos os resultados são únicos. Com a genética, repete-se um grande número de conjuntos de parâmetros, ou seja, não são únicos. O resultado já está na cache de resultados - este conjunto de parâmetros não é enviado para teste, o resultado é traçado, mas não está na lista de resultados.

 
stringo:

Não sou um moderador, mas vou responder.

 
Renat:
stringo:

Está a fazer perguntas que foram discutidas muitas vezes. E as respostas que estão na ajuda. Não sou um moderador, mas vou responder.

O gráfico mostra todos os resultados excepto os marcados a vermelho. As corridas com um erro crítico são marcadas a vermelho.

Apenas resultados únicos são colocados no separador de resultados. Para corridas consecutivas, todos os resultados são únicos. Com a genética, repete-se um grande número de conjuntos de parâmetros, ou seja, não são únicos. O resultado já está na cache de resultados - este conjunto de parâmetros não é enviado para teste, o resultado é traçado mas não na lista de resultados.

Está bem. Obrigado. Está tudo claro.
 
ForexMoneyMaker:
(risos): Está bem. Obrigado. Tudo é claro.
No registo do testador no menu de contexto, verificar "Registo de optimização total". Depois ler o registo - mostra que agente deu que trabalho, que resultado foi obtido de que agente, que resultado foi encontrado na cache resultante, que resultado foi encontrado na cache do ficheiro. Que termina com um erro crítico (e que erro). Pode ser uma leitura fascinante
Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5
 

Olá, Moderador!

Tenho uma nova questão relativa à optimização de uma EA utilizando a função OnTester() na qual foi escrita a condição apropriada. A optimização foi realizada utilizando o algoritmo genético no build 496.

Os resultados de trabalho do optimizador são mostrados nas imagens abaixo:

A fim de garantir que os parâmetros obtidos durante a optimização dão resultados adequados, testámos o Expert Advisor com os parâmetros correspondentes obtidos para a última linha em cada tabela, mas na versão actualizada da 519ª construção (infelizmente, isto não foi feito em 496).

Há três questões:

1. porque é que o gráfico de optimização mostra um valor negativo, se por OnTester(), o resultado ou é igual a zero ou maior que zero?

2. porque é que vemos dois pontos acima de zero no gráfico de optimização (valor igual a 0,51), quando só existe um na tabela?

3. Qual pode ser a razão pela qual os resultados de dois testes não coincidiram com os da optimização após os testes de construção 519? (no primeiro caso, o consultor especializado parou em vez do lucro 745 como resultado da drenagem do depósito até ao nível de fundos insuficientes para abrir posições, e no segundo caso, o resultado recebeu 7903030 em vez do lucro 83064)

 
ForexMoneyMaker:

Há três questões:

1. porque é que existe um valor negativo no gráfico de optimização, se por OnTester(), o resultado ou é igual a zero ou maior que zero?

2. porque é que vemos dois pontos acima de zero no gráfico de optimização (valor igual a 0,51), quando só existe um na tabela?

3. Qual pode ser a razão pela qual os resultados de dois testes não coincidiram com os da optimização após os testes de construção 519? (No primeiro caso, em vez de lucro 745, o Expert Advisor parou em resultado da drenagem dos depósitos até ao nível de fundos insuficientes para abrir posições, e no segundo caso, em vez de lucro 83064, o resultado foi 79030)


Não sou um moderador, mas vou tentar responder.

1. Tem exactamente 0 resultado no seu gráfico, só que o 0 não é mostrado na escala.

2. O algoritmo genético gera indivíduos com o mesmo conjunto de parâmetros, para eles os resultados são retirados da cache, sem uma corrida real. Assim, o gráfico mostra os resultados de todas as execuções, incluindo duplicações, enquanto as execuções duplicadas não são introduzidas na tabela de resultados (mas o registo mostra uma mensagem de que o resultado é retirado da cache).

3. Num único testador de corrida completa o teste se for atingido um nível de paragem, enquanto o optimizador salta tais situações sem análise. Provavelmente, os provadores não conseguem determinar o facto de parar por si próprios, e o provador fá-lo. E o saldo pode voltar à área positiva. Também tenho observado tais casos.

4. O último caso, penso eu, deve-se ou à actualização do terminal ou à actualização do histórico.

Razão: