суббота, 26 мая 2018 г.

Forex algoritmos genéticos


Algoritmos genéticos foram inventados para imitar alguns dos processos observados na evolução natural. Muitas pessoas, incluindo os biólogos, ficam surpresas com o fato de que a vida no nível de complexidade que observamos poderia ter evoluído no tempo relativamente curto sugerido pelo registro fóssil. A idéia com GA é usar esse poder de evolução para resolver problemas de otimização. O pai do Algoritmo Genético original foi John Holland, que o inventou no início da década de 1970. O que é Algoritmos Genéticos Os Algoritmos Genéticos (GAs) são algoritmos de pesquisa heurística adaptativa baseados nas idéias evolutivas de seleção natural e genética. Como tal, eles representam uma exploração inteligente de uma pesquisa aleatória usada para resolver problemas de otimização. Embora randomizados, os GAs não são aleatórios, em vez disso, eles exploram informações históricas para direcionar a pesquisa para a região de melhor desempenho dentro do espaço de busca. As técnicas básicas dos GAs são projetadas para simular processos em sistemas naturais necessários para a evolução, especialmente aqueles que seguem os princípios estabelecidos pela Charles Darwin de sobrevivência dos mais aptos ... Uma vez que na natureza, a competição entre os indivíduos por recursos escassos resulta no mais apto Indivíduos dominando os mais fracos. Por que os algoritmos genéticos é melhor do que o AI convencional na medida em que é mais robusto. Ao contrário dos sistemas de AI mais antigos, eles não quebram facilmente mesmo que as entradas mudassem ligeiramente, ou na presença de ruído razoável. Além disso, ao pesquisar um grande espaço de estados, espaço de estado multimodal ou superfície n-dimensional, um algoritmo genético pode oferecer benefícios significativos sobre pesquisas mais típicas de técnicas de otimização. (Programação linear, heurística, profundidade-primeiro, respiração-primeiro e praxis.) Algoritmos genéticos Visão geral Os GAs simulam a sobrevivência do mais apto entre os indivíduos durante a geração consecutiva para resolver um problema. Cada geração consiste em uma população de cordas de caracteres que são análogas ao cromossomo que vemos no nosso DNA. Cada indivíduo representa um ponto em um espaço de busca e uma possível solução. Os indivíduos da população são então criados para passar por um processo de evolução. Os GAs são baseados em uma analogia com a estrutura genética e o comportamento dos cromossomos dentro de uma população de indivíduos que usam os seguintes fundamentos: indivíduos em uma população competem por recursos e companheiros. Os indivíduos mais bem sucedidos em cada competição produzirão mais descendentes do que os indivíduos que apresentam um desempenho fraco. Os genes de indivíduos bons se propagam em toda a população de modo que dois bons pais às vezes produzam descendentes que são melhores do que qualquer dos pais. Assim, cada geração sucessiva se tornará mais adequada ao seu ambiente. Espaço de busca Uma população de indivíduos é mantida dentro do espaço de busca para uma GA, cada uma representando uma possível solução para um determinado problema. Cada indivíduo é codificado como um vetor de comprimento finito de componentes, ou variáveis, em termos de algum alfabeto, geralmente o alfabeto binário. Para continuar a analogia genética, esses indivíduos são comparados aos cromossomos e as variáveis ​​são análogas aos genes. Assim, um cromossomo (solução) é composto de vários genes (variáveis). Uma pontuação física é atribuída a cada solução que representa as habilidades de um indivíduo para competir. É procurado o indivíduo com a pontuação de aptidão ideal (ou geralmente ideal). O GA pretende usar a criação seletiva das soluções para produzir descendência melhor do que os pais, combinando informações dos cromossomos. O GA mantém uma população de n cromossomos (soluções) com valores de aptidão associados. Os pais são selecionados para se acasalar, com base em sua condição física, produzindo descendentes através de um plano reprodutivo. Consequentemente, as soluções altamente adequadas recebem mais oportunidades de reprodução, de modo que a prole herdar características de cada pai. À medida que os pais se aproximam e produzem descendentes, deve ser feita uma sala para os recém-chegados, uma vez que a população é mantida num tamanho estático. Os indivíduos da população morrem e são substituídos pelas novas soluções, eventualmente criando uma nova geração, uma vez que todas as oportunidades de acasalamento na população antiga foram esgotadas. Desta forma, espera-se que, ao longo das gerações sucessivas, as melhores soluções irão prosperar enquanto as soluções menos adequadas desaparecerem. Novas gerações de soluções são produzidas contendo, em média, genes mais bons do que uma solução típica em uma geração anterior. Cada geração sucessiva conterá mais soluções parciais boas do que as gerações anteriores. Eventualmente, uma vez que a população convergiu e não está produzindo descendentes visivelmente diferentes daquelas em gerações anteriores, o próprio algoritmo deve ter convergido para um conjunto de soluções para o problema em questão. Detalhes da implementação com base na seleção natural Depois que uma população inicial é gerada aleatoriamente, o algoritmo evolui através de três operadores: seleção que equivale à sobrevivência do cruzamento mais adequado, o que representa o aparecimento entre mutação individual que introduz modificações aleatórias. 1. Seleção Ideia da chave do operador: dar prévia a melhores indivíduos, permitindo que eles transmita seus genes para a próxima geração. A bondade de cada indivíduo depende da sua condição física. A aptidão física pode ser determinada por uma função objetiva ou por um julgamento subjetivo. 2. Crossover Operator Prime fator distinto de GA de outras técnicas de otimização Dois indivíduos são escolhidos da população usando o operador de seleção Um site de cruzamento ao longo das cadeias de bits é escolhido aleatoriamente Os valores das duas cadeias são trocados até este ponto Se S1000000 e s2111111 E o ponto de cruzamento é 2, então S1110000 e s2001111 Os dois novos descendentes criados a partir deste acoplamento são colocados na próxima geração da população Ao recombinar porções de indivíduos bons, esse processo provavelmente criará pessoas ainda melhores 3. Operador de Mutação Com algum baixo Probabilidade, uma parte dos novos indivíduos terá alguns de seus pedaços virados. O objetivo é manter a diversidade dentro da população e inibir a convergência prematura. A mutação por si só induz uma caminhada aleatória através do espaço de busca. Mutação e seleção (sem crossover) criam algoritmos paralelos, tolerantes ao ruído e escalada. Efeitos dos operadores genéticos. Usar a seleção sozinho tenderá a preencher a população com cópias do melhor indivíduo da População A utilização de operadores de seleção e crossover tenderá a fazer com que os algoritmos convergem em uma solução boa, mas subóptima. Usar a mutação sozinha induz uma caminhada aleatória através do espaço de busca. Usando a seleção e a mutação criam um algoritmo de escalada de parrallel, tolerante ao ruído, os Algoritmos inicializam aleatoriamente a população (t) determinam a aptidão da população (t) repitam pais selecionados da população (t) realizam cruzamentos nos pais criando população (t1) realizam mutação de A população (t1) determina a adequação da população (t1) até que o melhor indivíduo seja suficientemente bom. Na subseção anterior, afirmou-se que, através das operações de seleção, cruzamento e mutação, a GA convergirá em gerações sucessivas para o global (ou quase global) Optium. Por que essa operação simples deve produzir uma tecnologia rápida, útil e robusta, é em grande parte devido ao fato de que os GAs combinam direção e chance na busca de forma eficaz e eficiente. Uma vez que a população contém de forma implícita muito mais informações do que apenas as pontuações de aptidão individuais, os GAs combinam a boa informação escondida em uma solução com boa informação de outra solução para produzir novas soluções com boa indomação herdada de ambos os pais, inevitavelmente (espero) liderar a otimização dos engenhos. A capacidade do algoritmo para explorar e explorar simultaneamente, uma crescente quantidade de justificativa teórica e uma aplicação bem-sucedida em problemas do mundo real reforçam a conclusão de que as AG são uma técnica de otimização robusta e robusta. Uma introdução aos Algoritmos Genéticos. Com imprensa editada por Melanie Mitchell Algoritmos genéticos em engenharia e ciência da computação editados por G. Winter. Et al .. c1995 Fundamentos de algoritmos genéticos editados por Gregory J. E. Rawlins. C1991 Para detalhes de aplicações de algoritmos de genética, consulte o meu parceiro, artigo de Chun. MetaTrader 4 - Algoritmos genéticos de teste versus pesquisa simples no Optimizador MetaTrader 4 1. Quais são os algoritmos genéticos A plataforma MetaTrader 4 agora oferece algoritmos genéticos de otimização Os insumos Expert Advisors. Eles reduzem significativamente o tempo de otimização sem qualquer invalidação significativa dos testes. O seu princípio de operação é descrito no artigo denominado Algoritmos Genéticos: Matemática em detalhes. Este artigo é dedicado à otimização de insumos EAs usando algoritmos genéticos em comparação com os resultados obtidos usando pesquisa direta e completa de valores de parâmetros. 2. The Expert Advisor Para as minhas experiências, completei ligeiramente a EA chamada CrossMACD que você pode ter conhecido do artigo denominado Orders Management - Its Simple: Adicionado StopLoss e TakeProfit para as posições colocadas. Parada de tração adicionada. Parâmetro Usado OpenLuft para filtrar sinais: Agora o sinal virá se a linha zero for cruzada em uma certa quantidade de pontos (com a precisão a uma casa decimal). Adicionado o parâmetro CloseLuft para a filtragem semelhante de sinais fechados. Coloque em variáveis ​​experimentais os períodos das médias lentas e de movimentação rápida usadas para cálculos MACD. Agora, é um consultor especialista praticamente completo. Será conveniente otimizar e usar na negociação. Você pode fazer o download de EA CrossMACDDeLuxe. mq4 para o seu PC e testá-lo de forma independente. 3. Otimização Agora podemos começar a otimizar a EA. Três testes serão realizados com diferentes quantidades de pesquisas de otimização. Isso ajudará a comparar lucros obtidos usando algoritmos genéticos em várias situações. Após cada teste, vou remover manualmente o cache do testador para os testes subseqüentes para não usar combinações já encontradas. Isso é necessário apenas para que o experimento seja mais preciso - normalmente, a busca automática de resultados apenas melhora a otimização repetida. Para comparar os resultados. A otimização usando algoritmos genéticos será feita duas vezes: primeira vez - para encontrar o lucro máximo (Lucro), segunda vez para encontrar o maior fator de lucro (Lucro Fator). Depois disso, os melhores três resultados para ambos os métodos de otimização serão dados na tabela de relatório de resumo ordenada pelas colunas indicadas. A otimização é puramente experimental. Este artigo não tem como objetivo encontrar insumos que realmente façam maiores lucros. Símbolo do gráfico EURUSD cronograma do gráfico 1 período de teste 2 anos de modelagem Aumente os preços apenas entradas pesquisadas: Deve notar-se que, ao usar algoritmos genéticos, o tempo esperado de otimização é aproximadamente o mesmo que o da otimização usando a pesquisa de entradas diretas. A diferença é que um algoritmo genético destrói continuamente as combinações certamente infrutíferas e, dessa forma, reduz a quantidade de testes necessários várias vezes (talvez várias dezenas, centenas, milhares de vezes). É por isso que você não deve ser orientado para o tempo esperado de otimização ao usar algoritmos genéticos. O tempo real de otimização sempre será mais curto: como você vê, a otimização usando algoritmos genéticos levou menos de quatro minutos em vez das esperadas cinco horas e meia. Gráfico de otimização com algoritmos genéticos também difere daquela com pesquisa direta. Uma vez que as combinações ruins já foram eliminadas, os testes subsequentes são conduzidos com combinações de entradas que são mais lucrativas por padrão. É por isso que o gráfico de saldo aumenta: considere os resultados de ambos os métodos de otimização em todos os detalhes. A situação mudou. Os períodos de otimização coincidem (um erro insignificante é admissível) e os resultados são idênticos. Isso pode ser explicado através de que a otimização consistiu em apenas 1331 pesquisas e essa quantidade de passagens não é suficiente para usar algoritmos genéticos. Eles não têm tempo para aumentar a velocidade - a otimização é mais rápida devido ao rastreamento, certamente perdendo combinações de insumos, mas com uma quantidade de combinações acima mencionada, os algoritmos genéticos não podem definir o que os pais (combinações de entradas) geram mau fora da primavera. Então, não há sentido usá-los. 4. Conclusões Os algoritmos genéticos são uma boa adição ao otimizador de 4 estratégias. A otimização é dramaticamente aprimorada se a quantidade de pesquisas for grande, os resultados coincidem com os obtidos por otimização regular. Agora não há sentido usar a busca completa em insumos. Os algoritmos genéticos encontrarão o melhor resultado mais rápido e não menos efetivamente. 5. Depois de escrever o artigo, satisfez minha curiosidade e lancei otimização do CrossMACDDeLuxe em todas as entradas. A quantidade de combinações feitas em mais de cem milhões (103 306 896). A otimização usando algoritmos genéticos levou apenas 17 horas, enquanto a otimização usando pesquisa em todas as entradas levaria cerca de 35 anos (301 223 horas). As conclusões dependem de você.

Комментариев нет:

Отправить комментарий