Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Vita, bem visto. Mas eu diria que a capacidade de generalização não é apenas uma propriedade da EA, mas também uma propriedade do algoritmo de aprendizagem, que deve identificar corretamente esta capacidade. O algoritmo do metaquot não revela esta capacidade, ele a destrói pela super-otimização.
Um algoritmo de metaquota não capta esta capacidade, mas a mata com uma otimização excessiva. -- Eu gostaria de ver um exemplo.
Os exemplos abundam. Eu não fui claro. Eu quis dizer que o uso irrefletido do otimizador a la "um, dois, três!" leva a um otimismo excessivo e irrazoável dos gray-ists. Por exemplo, o último exemplo - 'Será que o Forex está se movendo contra nós? Ou talvez eu não o entenda". Ou 'Trend Advisor (Expert). Estou esperando o feedback". Todos estes são truques.
Sobre "arruinar na raiz": a probabilidade de que a curva de ajuste marginal em um segmento de dados leve a uma rentabilidade sustentada no segmento real, fora da amostra, é extremamente baixa. O ótimo está em algum lugar no meio entre a rentabilidade excessiva e o breakevenness, que é inerente ao algoritmo de treinamento NS.
Diga-me por favor, Vita, nosso otimizador genético em sua forma pura oferece alguma garantia de rentabilidade de um Expert Advisor no futuro - mesmo que seja super-duper lucrativo em testes/optimização? Não estou falando do testador, o testador está muito bem.
P.S. Finalmente encontrou uma das primeiras menções de otimizador genético feitas pela MQ: https://www.mql5.com/ru/forum/50805. Veja o correio de Filin e a resposta de Slawa. A resposta mostra que o otimizador é útil apenas para a estimativa aproximada das capacidades de um Expert Advisor e nada mais. A maioria dos grailistas a utilizam como a primeira e única ferramenta de teste "completo" dos Expert Advisors. Esta é uma abordagem amadora que leva a falsas ilusões. Na verdade, esta ferramenta, destinada apenas a uma estimativa aproximada, é, pela lei da mesquinhez, boa apenas para sucatear os Expert Advisors obviamente maus em caso de resultados obviamente negativos - mas não para tirar conclusões positivas sobre o valor do Expert Advisor...
Mathemat писал (а):
Os exemplos abundam. Eu não fui claro. Eu quis dizer que o uso irrefletido do otimizador a la "um, dois, três!" leva a um otimismo excessivo e irrazoável dos gray-ists. Por exemplo, o último exemplo - 'Será que o Forex está se movendo contra nós? Ou talvez eu não o entenda". Ou 'Trend Advisor (Expert). Estou esperando o feedback". Tudo isso são ajustes.
--> Imagine que temos um otimizador "inteligente" que pode dizer com precisão: "Aqui está o conjunto ideal de parâmetros operacionais. Eu juro, sem ajuste" ou "Não, pessoal, para esta EA eu não posso escolher parâmetros de trabalho, e não apenas encaixar a curva". Esses seriam os tempos! Um otimizador que certifica estratégias implementadas em EAs! Acesso livre a partir de metaquotas! Ótimo! Eu realmente quero um.
--> O "ótimo está em algum lugar no meio" é uma sensação intuitiva que resulta do fato de que os "grãos" totalmente otimizados estão garantidos de falhar no futuro, portanto não se deve otimizar até o fim, ou que "a verdade está em algum lugar próximo" ou algo parecido. Este sentimento não tem nada a ver com a realidade. A regularidade pode ser otimizada até o limite e somente lá ela se revelará em toda a sua glória. Não importa o quanto você a torça, ela não será útil, mas a sensação de que o ideal está em algum lugar no meio pode ser desenvolvida.
--> Eu não sou, e acho inadequado exigir tais garantias a partir dos resultados do otimizador. Veja acima sobre "inteligente", dando garantias, otimizador.
P.S. Finalmente encontrou uma das primeiras menções de otimizador genético feitas pela MQ:
https://www.mql5.com/ru/forum/50805
. Veja o correio de Filin e a resposta de Slawa. Você pode ver pela resposta que o otimizador só é útil para uma estimativa aproximada das capacidades de um Expert Advisor e nada mais. A maioria dos grailistas a utilizam como a primeira e única ferramenta de teste "total" dos Expert Advisors. Esta é uma abordagem amadora que leva a falsas ilusões. Na verdade, tal ferramenta destinada apenas a uma estimativa aproximada é, pela lei da mesquinhez, boa o suficiente apenas para sucatear os Expert Advisors obviamente maus no caso de um resultado claramente negativo - mas não para fazer uma conclusão positiva sobre o valor do Expert Advisor...
-->"O otimizador é útil apenas para uma estimativa aproximada das capacidades da EA" - mais uma vez, a alegação ao otimizador que é incapaz de estimar com precisão as capacidades de uma EA, mas, na verdade, de certificar as estratégias de uma EA. Resta apenas criar um robô que gere estratégias, alimentá-las ao otimizador, obter uma opinião sobre sua adequação e ir para o corte garantido de dinheiro. O que você acha desta ilusão?
A ilusão é grande, mas apenas uma ilusão. Mas é possível melhorar drasticamente a aplicação do que temos (testador/optimizador) com os meios disponíveis na MQL4. Caso contrário, ainda veremos super helicópteros a cada três dias com apenas resultados adequados, fingindo ser testes normais...
E não tenho nenhuma reclamação sobre metaquotas: o otimizador faz exatamente aquilo para o qual foi projetado, ou seja, a otimização genética no espaço de parâmetros do Expert Advisor e, na verdade, é um ajuste de curva.
Tenho uma sugestão para o testador: seria bom ter uma função padrão como teste() na qual todos os parâmetros necessários seriam claramente especificados, incluindo o nome do arquivo de histórico no qual tudo é testado. A vinculação rígida de um nome de arquivo ao seu conteúdo não é uma solução flexível o suficiente.
Boa tarde a todos.
Depois de otimizar uma EA, muitas vezes temos que nerd fora da amostra mais de uma dúzia de conjuntos de parâmetros sugeridos pelo otimizador.
Tenho uma idéia de otimizar os Expert Advisors fora da amostra. Suponha que nós "cobramos" do consultor especializado a otimização por uma série de parâmetros. Estabelecemos uma data. Por exemplo, a partir de 1 de janeiro. 2006 até 1 de janeiro de 2007.
Recebemos vários milhares de Expert Advisors. Depois disso, salvamos a página com os RESULTADOS DE OPTIMIZAÇÃO como um arquivo separado. Em seguida, estabelecemos o seguinte período histórico para otimização, ou seja, adicionamos um ou dois meses, ou tantos quantos forem necessários.
Em nosso caso, estabelecemos, por exemplo, a partir de 1 de janeiro. 2007 a 1 de junho de 2007. E mais uma vez usamos a otimização. Para ser mais exato, não será uma otimização completa. O otimizador não deve tomar parâmetros em PROPRIEDADES DO EXPERTADOR, mas selecionar novamente conjuntos de parâmetros do arquivo que salvamos após a primeira otimização. Após esta segunda otimização, ficamos apenas com aqueles vAriens que produziram lucros fora da amostra!
O resultado, idealmente, é que obtemos os "parâmetros ideais" para trabalhar e testar on-line mais tarde!
Acho que isto será uma adição útil ao testador do mt4. Provavelmente, e muito provavelmente, já é implementado por alguém em algum lugar. Se alguém souber, por favor, compartilhe o link!
Eu, devido a meu modesto conhecimento, não consigo descobrir como implementar a idéia na prática.
Certamente já existe uma implementação prática deste algoritmo ... No fórum encontrei apenas seus derivados... Por exemplo, "Como implementar seu critério de otimização"...
Eu quero compartilhar minha solução para este problema....
Vamos preparar um EA... Vamos adicionar parâmetros externos...
Dentro da função init() insira o seguinte bloco....
Parametr1, Parametr2, Parametr3 - parâmetros externos, que devem ser otimizados....
Isso é tudo ...
Certamente já existe uma implementação prática deste algoritmo. No fórum encontrei apenas seus derivados... Por exemplo, "Como implementar seu critério de otimização"...
Eu quero compartilhar minha solução para este problema....
Veja os artigos de Nikolay Kositsin, por exemplo, 'Especialistas baseados em sistemas comerciais populares e alquimia de otimização de robôs comerciais (Continuação)'.
Como funciona?
No intervalo de tempo A, executamos a otimização habitual dos parâmetros (Contador=0) .
Transferimos os resultados para o Excel... Agora nossa tarefa é criar um arquivo com parâmetros otimizados e salvá-lo no diretório ...arquivos de teste
Selecione colunas com nossos parâmetros em Excel, copie e cole-as no Word ou Notepad como texto sem formatação...
Em Wordboard ou Notepad, converta cada linha para a forma: valor1;valor2;valor3.
Salve-o no diretório ...arquivos de teste
Se você não for muito preguiçoso, você pode escrever uma macro para realizar as operações acima na mosca...
Agora podemos executar a otimização no slot de tempo B... Agora o paramétro de otimização será Counter... Especifique o valor máximo (número de linhas na lista).
É isso aí, o problema está resolvido... Boa sorte...
Confira os artigos de Nikolay Kositsin, como este "Expert Advisors based on popular trading systems and the alquimy of trading robot optimisation (Continuação)".
Eu li este artigo... Eu acho que minha variante é mais simples e conveniente.... e o mais importante, é universal...
A implementação acima coincide completamente com o desejo do autor do ramo...
Obrigado, kharko, pela solução. Vou tentar usá-lo!