Skip to main content

Otimização Do Sistema De Negociação


Trading Systems Coding Testing, Troubleshooting e Optimizing. Now que você tem um sistema de negociação projetado e codificado, é hora de testá-lo para certificar-se de que sua codificação está livre de erros técnicos e lógicos também vamos olhar para algo conhecido como otimização - um Recurso em alguns programas de negociação que lhe permite afinar suas regras de negociação para atender as ações que você planeja em trading. Testing seu sistema de negociação A grande maioria dos aplicativos comerciais que suportam linguagens de programação também suportam ferramentas de teste Estas ferramentas são divididas em duas categorias. Por exemplo, se você esquecer de adicionar um ponto-e-vírgula após uma instrução, a ferramenta de teste técnico irá notificá-lo que sua declaração é inválida. A localização da ferramenta de teste técnico depende da negociação Aplicativo sendo usado MetaTrader exibe um erro ou resultados falho quando você tenta compilar o seu código, enquanto os aplicativos comerciais como Tradecision ha Um utilitário de verificação de código construído na interface que permite verificar o código de erros antes de aplicá-lo.2 Logical Ferramentas de teste lógico procurar erros lógicos no seu código Por exemplo, se você passou a usar um sinal maior do que em vez de um menor que Sinal que não é um erro técnico, uma ferramenta de teste lógico irá mostrar-lhe que seus resultados não fazem sentido. A ferramenta de teste mais popular lógica é a ferramenta de backtesting Esta ferramenta permite que você tome dados passados ​​e aplicar o seu sistema de negociação para que os dados Isso Dá-lhe uma idéia do seguinte. Se seu sistema negociando é um one. What lucrativo que as circunstâncias provam ser as mais rentáveis. Onde todos os erros em suas réguas puderam existir. Como com qualquer outro tipo de programação, a solução de problemas pode ser uma tarefa tediosa e difícil Encontrar erros em seu código requer sistematicamente a classificação através de seu código para identificar erros sintáticos que, embora muitas vezes menores , Pode trazer o seu programa para um halt. Here são alguns erros comuns para procurar. Missing ponto e vírgula após declarações - Estes têm que ser após cada statement. Undefined variáveis ​​- Lembre-se que você tem que declará-los antes de usá-los. Spelling erros - Se Quaisquer nomes ou funções estão grafadas incorretamente, o aplicativo de negociação irá retornar um erro ver exemplo abaixo. Uso incorreto de - Lembre-se que atribui um valor a outro valor, enquanto meio igual a. Utilização incorreta de built-in funções - Consulte o seu comércio aplicação s Documentação ou API de interface de programação de aplicativo para certificar-se de que você está usando a sintaxe correta. Que permite que você teste seu código antes de usá-lo ou compilá-lo Este recurso permite que você veja o que o erro é e em que linha pode ser encontrado Tome Tradecision por exemplo. Aqui podemos ver que Tradecision nos dá a linha de localização e coluna de O erro, uma descrição do erro e do tipo de erro neste caso, é sintático Se olharmos para a expressão, podemos ver que na coluna 8 xrossBelow não é uma função válida Se substituir o x que está na coluna 8 Com ac, então vamos ter um código válido. Se olhar para o MetaTrader, podemos ver que os erros surgem quando tentamos compilar o programa. Aqui podemos ver que na descrição diz que a variável BuyNow wasn t definido duplo clique Sobre esta mensagem de erro irá trazer-nos para a localização específica do erro no código. Como você pode ver, a maioria dos aplicativos comerciais dar-lhe uma maneira fácil de localizar erros técnicos e corrigi-los corrigir os erros simplesmente envolve sistematicamente passando por cada mensagem de erro e Então recom Empilhando o código e ou aplicando o sistema de comércio para seus charts. Optimizing seu sistema de negociação Alguns aplicativos de negociação permitem selecionar variáveis ​​a serem otimizadas Tradecision, por exemplo, permite que você facilmente selecionar uma variável e substituí-lo com o código que vai tentar otimização em si é Simplesmente um processo que encontra o valor ideal para um elemento do sistema de negociação específico com base nos resultados anteriores e desempenho Observe que o excesso de otimização resulta em sistemas de negociação que são incapazes de se adaptar às condições de mercado, portanto, é importante apenas otimizar algumas variáveis ​​importantes, Nem todas as variáveis. Aqui está o que o recurso de otimização parece em Tradecision. You pode ver que declaramos duas novas variáveis ​​e defini-los igual a O simplesmente significa que o programa de troca irá substituir isso com o número ideal Em seguida, você pode ver que nós Usamos as novas variáveis ​​dentro de nossa estratégia de negociação Finalmente, definimos um intervalo para os números para que o programa não busque no infinito. Alguns outros programas de negociação têm características que operam de forma semelhante, permitindo que você substitua o valor numérico com um e dizendo o aplicativo de negociação para otimizar it. Conclusion Até agora você deve ter desenvolvido um sistema de negociação de trabalho em que você pode ter confiança. Próxima parte desta série, você vai aprender a aplicar o seu sistema de negociação para gráficos e como usá-lo para tomar decisões de negociação. Otimização da Interação Automatizada Trading System s com Market Environment. Cite este documento como Tucnik P 2010 Otimização do Sistema de Negociação Automatizado S Interacção com Ambiente de Mercado Em Forbrig P Gnther H eds Perspectivas em Investigação de Informática Empresarial BIR 2010 Notas de Aulas em Business Information Processing, vol 64 Springer, Berlim, Heidelberg. Este trabalho é focado nos sistemas automatizados de negociação ATS design e otimização Em uma fase de preparação Antes da utilização, deve ser feita uma optimização da interacção de tais sistemas com o ambiente de mercado pretendido. Os indicadores de análise são mais freqüentemente usados ​​em ATS Otimização é feita através de testes de diferentes configurações do indicador MACD e configurações ideais dependem fortemente de parâmetros de mercado O uso pretendido do ATS é realizar a sua actividade de forma independente de alguma forma, dependendo das preferências do usuário O principal objectivo É melhorar o desempenho do sistema automatizado de negociação, a fim de melhorar a sua utilidade e aceitabilidade para o usuário Paper será focada em mercados de futuros apenas Chicago e Nova York, mas os resultados são aplicáveis ​​a outras áreas de negociação também. Carter, JF Mastering the Trade Técnicas comprovadas para lucrar com as configurações de troca intradia e swing McGraw-Hill, Nova York 2006 Google Scholar. Kaufman, PJ Novos sistemas de negociação e métodos, 4o edn John Wiley Sons, New Jersey 2005 Google Scholar. Murphy, JJ Análise Técnica para Mercados Financeiros a Guia Completo para Métodos de Negociação e Aplicações New York Institute of Finance, Nova Iorque 1999 Google Scholar. Nison, S Japanese Candle O que você vê Como lucrar com o reconhecimento de padrões John Wiley Sons, New Jersey 2007 Google Scholar. Tinghino, M Análise Técnica Ferramentas Criando um Sistema de Negociação Profissional Bloomberg Press, Nova Iorque 2008 Google Scholar. Tucnik, P Automatic Trading System Design em Godara, V ed Computação Pervasive para Tendências de Negócios e Aplicações IGI Global, Sydney 2010 Google Scholar. Tucnik, P Automated Futures Trading Ambiente Efeito sobre a Decisão Fazendo em avanços recentes em informática aplicada Proceedings da 9 ª WSEAS Conferência Internacional sobre Ciência Aplicada Computer Science e Engenharia Academia e Sociedade, Athens 2009 Google Scholar. Copyright informações. Springer-Verlag Berlim Heidelberg 2010.Authors e Affiliations. Petr Tucnik.1 Departamento de Tecnologias de Informação, Faculdade de Informática e Gestão Universidade de Hradec Kralove Hradec Kralove República Checa. Sobre este paper. How para otimizar o sistema de negociação. NOTA Este é bastante avançado tópico Por favor, leia os tutoriais AFL anteriores primeiro. A idéia por trás de uma otimização é simples Primeiro você tem que ter um sistema de comércio, este pode ser um crossover média móvel simples, por exemplo Em quase todos os sistemas existem alguns parâmetros como período de média que decidir como determinado sistema se comporta Ou seja, é bem adequado para o longo prazo ou curto prazo, como é reagir em ações altamente volátil, etc A otimização é o processo de encontrar os melhores valores dos parâmetros dando maior lucro do sistema para um determinado símbolo ou um portfólio de símbolos AmiBroker É um dos poucos programas que permitem otimizar o seu sistema em vários símbolos ao mesmo tempo. Para otimizar seu sistema você tem que definir f De um até dez parâmetros a serem otimizados Você decide o que é um valor mínimo e máximo permitido do parâmetro e em que incrementos esse valor deve ser atualizado AmiBroker, em seguida, executa vários testes de volta o sistema usando TODAS as combinações possíveis de valores de parâmetros Quando este processo é concluído AmiBroker exibe a lista de resultados classificados por lucro líquido Você é capaz de ver os valores de parâmetros de otimização que dão o melhor resultado. Formulação AFL. Otimização no testador de volta é suportado através de nova função chamada otimizar A sintaxe desta função é a seguinte. Variável otimizada Descrição, padrão min minimo step. variable - é a variável AFL normal que recebe o valor retornado pela função otimizar Com modos normais de backtesting, exploração, exploração e comentar a função otimizar retorna o valor padrão, então a chamada de função acima é equivalente à variável Padrão. No modo de otimização, a função otimizar retorna valores sucessivos de min até max inclusive Com passo stepping. Description é uma seqüência de caracteres que é usado para identificar a variável de otimização e é exibido como um nome de coluna no resultado de otimização list. default é um valor padrão que otimizar a função retorna em exploração, indicador, comentário, varredura e normal back test Modes. min é um valor mínimo da variável que está sendo otimizada. max é um valor máximo da variável que está sendo otimizado. step é um intervalo usado para aumentar o valor de min para max. AmiBroker suporta até 64 chamadas para otimizar função, portanto, até 64 otimização Variáveis, observe que se você estiver usando otimização exaustiva, então é realmente uma boa idéia para limitar o número de variáveis ​​de otimização para apenas few. Each chamar para otimizar gerar otimização max - min otimização laços e várias chamadas para otimizar multiplicar o número de execuções necessárias Por exemplo Otimizando dois parâmetros usando 10 etapas exigirá 10 10 100 laços de otimização. Call otimizar função apenas uma vez por variável no início de sua fórmula Como cada chamada gera uma nova otimização loops. Multiple símbolo de otimização é totalmente suportado por AmiBroker. Maximum espaço de pesquisa é de 2 64 10 19 10,000,000,000,000,000,000 combinações.1 Otimização única variável. sigavg Otimizar Sinal média 9 2 20 1.Buy Cross MACD 12 26, Sinal 12 26 sigavg Venda Cross Signal 12 26 sigavg, MACD 12 26.2 Otimização de duas variáveis ​​adequada para 3D charting. per Otimizar por 2 5 50 1 Nível Otimizar nível 2 2 150 4.Comprar CCI cruzado, Per.3 Múltiplo 3 optimization. mfast variável Optimizar MACD Rápido 12 8 16 1 mslow Optimizar MACD Lento 26 17 30 1 sigavg Optimize Sinal média 9 2 20 1.Buy Cross MACD mfast, mslow Sinal mfast, mslow, sigavg Venda Cross Signal mfast, Depois de digitar a fórmula, basta clicar no botão Otimizar na janela de Análise Automática. O AmiBroker começará a testar todas as combinações possíveis de variáveis ​​de otimização e relatará os resultados na lista. Após a otimização estar concluída A lista de resultado é apresentada ordenada pelo lucro líquido Como você pode classificar os resultados por qualquer coluna na lista de resultados é fácil obter os valores ideais de parâmetros para o menor drawdown, menor número de comércios, maior fator de lucro, menor mercado Exposição e maior retorno anual ajustado ao risco As últimas colunas da lista de resultados apresentam os valores das variáveis ​​de otimização para determinado teste. Quando você decidir qual combinação de parâmetros se adequa às suas necessidades, o melhor que você precisa fazer é substituir os valores padrão em otimizar chamadas de função Com os valores óptimos Na fase atual, você precisa digitá-los à mão na janela de edição de fórmula o segundo parâmetro de otimizar a função call. Displaying gráficos de otimização 3D animado. Para exibir gráfico de otimização 3D, você precisa executar a otimização de duas variáveis ​​primeiro Duas variáveis A otimização precisa de uma fórmula que tenha 2 Otimizar chamadas de função Um exemplo de fórmula de otimização de duas variáveis ​​se parece com isto. per Optimizar por 2 5 50 1 Nível Otimizar Level 2 2 150 4.Buy Cross CCI per, - Level Sell Cross Level, CCI per. After entrando na fórmula você precisa clicar em otimizar button. Once otimização é completa você deve clicar na seta para baixo no botão Optimize e escolher View 3D Gráfico de otimização Em poucos segundos um gráfico de superfície colorido tridimensional aparecerá em uma janela de visualizador de gráfico 3D Um gráfico de exemplo 3D gerado usando a fórmula acima é mostrado abaixo. Por padrão os gráficos 3D exibem valores de lucro líquido contra variáveis ​​de otimização Você pode, contudo, Gráfico de superfície 3D para qualquer coluna na tabela de resultados de otimização Basta clicar no cabeçalho da coluna para classificá-lo seta azul aparecerá indicando que os resultados de otimização são classificados por coluna selecionada e, em seguida, escolha Exibir gráfico de otimização 3D novamente. O desempenho de negociação, você pode decidir mais facilmente quais os valores dos parâmetros produzem frágil e que produzem o desempenho do sistema robusto Configurações robustas são regiões no 3D gra Ph que mostram mudanças graduais ao invés de abruptas no enredo de superfície Os gráficos de otimização 3D são uma ótima ferramenta para evitar o ajuste de curvas A adaptação de curvas ou a otimização ocorre quando o sistema é mais complexo do que ele precisa e toda essa complexidade foi focada Condições de mercado que podem nunca acontecer novamente Mudanças radicais ou picos nos gráficos de otimização 3D mostram claramente áreas de sobre-otimização Você deve escolher a região de parâmetro que produz um platô amplo e amplo em gráfico 3D para a sua vida real negociação Parâmetro conjuntos que produzem picos de lucro não vai funcionar De forma confiável na negociação real.3D visualizadores de gráfico views. AmiBroker s Visualizador de gráfico 3D oferece capacidades de visualização total com rotação de gráfico completo e animação Agora você pode ver os resultados do sistema de todas as perspectivas concebíveis Você pode controlar a posição e outros parâmetros do gráfico usando o mouse , Barra de ferramentas e atalhos de teclado, o que você achar mais fácil para você Abaixo você encontrará a lista.- para girar - mantenha pressionado mux LEFT E mover-se em direções XY - para Zoom-in, zoom-out - mantenha pressionado o botão do mouse para a direita e mover em direções XY - para mover translate - mantenha pressionado o botão esquerdo do mouse e tecla CTRL e mover em direções XY - Animar - Deslize o botão do mouse para a esquerda, arraste rapidamente e solte o botão enquanto arrasta. SPACE - animar auto-girar SETA PARA A ESQUERDA - girar vert para a esquerda SETA PARA A DIREITA - girar para a direita para a direita SETA PARA CIMA - NUMPAD 4 - mover para a esquerda NUMPAD 6 - mover para a direita NUMPAD 8 - mover para cima NUMPAD 2 - mover para baixo PAGE UP - nível da água para cima PAGE DOWN - nível da água para baixo. Otimização não-exaustiva. AmiBroker Agora oferece otimização inteligente não-exaustiva, além de pesquisa regular e exaustiva Pesquisa não-exaustiva é útil se o número de todas as combinações de parâmetros do sistema de negociação dada é simplesmente muito grande para ser viável para pesquisa exaustiva. Pesquisa exaustiva é perfeitamente bem desde que É reasona Para usá-lo Vamos dizer que você tem 2 parâmetros cada um variando de 1 a 100 passo 1 Isso s 10000 combinações - perfeitamente OK para pesquisa exaustiva Agora com 3 parâmetros você tem 1 milhão de combinações - ainda é OK para pesquisa exaustiva, mas pode ser lenghty Com 4 parâmetros você tem 100 milhões de combinações e com 5 parâmetros 1 100 você tem 10 bilhões de combinações Nesse caso, seria muito demorado para verificar todos eles, e esta é a área onde os métodos de pesquisa não-exaustiva inteligente pode resolver o Problema que não é resolvido em tempo razoável usando pesquisa exaustiva. Aqui está absolutamente a instrução mais simples como usar otimizador não-exaustivo novo neste caso CMA-ES.1 Abra sua fórmula no Editor de Fórmula.2 Adicione esta única linha na parte superior De sua formula. OptimizerSetEngine cmae você também pode usar spso ou trib here.3 Opcional Selecione seu alvo de otimização em Análise Automática, Configurações, Guia Avançado, campo Otimização Se você pular esta etapa otimizará para CAR MDD composto retorno anual dividido pelo máximo drawdown. Now se você executar a otimização usando esta fórmula, ele usará novo evolutivo não-exaustiva CMA-ES optimizer. How ele funciona. Otimização é o processo de encontrar mínimo ou máximo de determinada função Qualquer sistema de negociação pode ser considerado como uma função de um certo número de argumentos As entradas são parâmetros e dados de cotação a saída é o seu alvo de otimização dizer CAR MDD E você está procurando o máximo de determinado function. Some de inteligentes algoritmos de otimização são baseados na natureza animal Algoritmo de PSO ou algoritmo de PSO Algoritmos genéticos e alguns são baseados em conceitos matemáticos derivados de seres humanos CMA-ES. Estes algoritmos são usados ​​em muitas áreas diferentes, incluindo financiamento Enter PSO finanças ou CMA-ES finanças no Google e você Vai encontrar um monte de info. Non-exaustiva ou métodos inteligentes vai encontrar global ou local ideal O objetivo é, naturalmente, para encontrar um global, mas se houver um único pico afiado fora de zil Lions parâmetro combinações, métodos não-exaustivos podem não conseguir encontrar este único pico, mas levando-se forma trader s perspecive, encontrando único pico acentuado é inútil para negociação porque esse resultado seria instável muito frágil e não replicável na negociação real Em processo de otimização nós São rather procurando regiões do platô com parâmetros estáveis ​​e esta é a área onde os métodos inteligentes brilham. Quanto ao algoritmo usado pela busca não-exhaustive olha como follows. a o optimizer gera alguma população geralmente partida aleatória dos jogos do parâmetro b backtest é executado por AmiBroker para cada conjunto de parâmetros da população c os resultados dos backtests são avaliados de acordo com a lógica do algoritmo e nova população é gerada com base na evolução dos resultados, d se for encontrado o melhor - salve-o e vá para o passo b até parar os critérios São satisfeitas. Os critérios de parada de exemplo podem incluir um alcance de iterações máximas especificadas b parar se o intervalo de melhores valores objetivos das últimas gerações X é Zero c stop se adicionar 0 1 vetor de desvio padrão em qualquer direção do eixo principal não altera o valor do valor objetivo d others. To usar qualquer otimizador inteligente não-exaustiva em AmiBroker você precisa especificar o motor otimizador que você deseja usar no AFL Fórmula usando a função OptimizerSetEngine. A função seleciona o motor de otimização externo definido pelo nome AmiBroker atualmente é fornecido com 3 motores Padrão Particle Swarm Optimizer spso, Tribes trib, e CMA-ES cmae - os nomes em chaves são para ser usado em chamadas OptimizerSetEngine. Selecionando motor otimizador você pode querer definir alguns de seus parâmetros internos Para fazê-lo usar OptimizerSetOption função. OptimizerSetOption nome, função de valor. A função definir parâmetros adicionais para motor de otimização externa Os parâmetros são dependentes do motor Todos os três otimizadores enviados com AmiBroker SPSO, Trib , CMAE suporta dois parâmetros Executa o número de execuções e MaxEval avaliações máximas testes por execução única O comportamento De cada parâmetro é dependente do motor, então os mesmos valores podem e normalmente irão produzir resultados diferentes com diferentes motores utilizados. A diferença entre Runs e MaxEval é a seguinte avaliação ou teste é single backtest ou avaliação do valor da função objetivo RUN é um full run de O algoritmo encontrar o valor ideal - geralmente envolvendo muitas avaliações de testes. Cada executar simplesmente RESTAURAR todo o processo de otimização a partir do novo início nova população inicial aleatória Portanto, cada execução pode levar a encontrar diferentes local min max se não encontrar global Um parâmetro So Runs define Número de algoritmos subseqüentes MaxEval é o número máximo de bactests avaliações em qualquer run. If único o problema é relativamente simples e 1000 testes são suficientes para encontrar global max, 5x1000 é mais provável encontrar global máximo porque há menos chances de ser preso No máximo local, como as corridas subseqüentes começarão de uma população aleatória inicial diferente. Escolher valores de parâmetro pode ser complicado Depende do problema em teste, sua complexidade, etc, etc Qualquer método estocástico não-exaustiva não lhe dá garantia de encontrar global min max, independentemente do número de testes, se é menor do que exaustiva A resposta mais fácil é especificar como grande número de Testes como é razoável para você em termos de tempo necessário para completar Outro conselho simples é multiplicar por 10 o número de testes com a adição de nova dimensão Isso pode levar a superestimar o número de testes necessários, mas é bastante seguro Os motores enviados são projetados para Ser simples de usar, portanto razoável valores automáticos padrão são usados ​​para otimização pode ser normalmente executado sem especificar qualquer coisa aceitando defaults. It é importante entender que todos os métodos de otimização inteligentes funcionam melhor em espaços de parâmetro contínuo e funções objetivo relativamente suave Se o espaço de parâmetro é discreto Algoritmos evolutivos podem ter problemas para encontrar o valor ideal É especialmente verdadeiro para binário off parâmetros - eles não são s Se o seu sistema de negociação contém muitos parâmetros binários, você não deve usar otimizador inteligente diretamente sobre eles. Em vez disso, tente otimizar apenas parâmetros contínuos usando o otimizador inteligente e parâmetros binários de comutação Manualmente ou via script externo. SPSO - Padrão Particle Swarm Optimizer. Standard Otimizador Swarm Partícula baseia-se no SPSO2007 código que é suposto para produzir bons resultados, desde que os parâmetros corretos, ou seja, Runs, MaxEval são fornecidos para o problema particular Picking opções corretas para o otimizador PSO pode Ser complicado, portanto, os resultados podem variar significativamente de caso para caso. Vem com os códigos de fonte cheios dentro da subpasta de ADK. Código do exemplo para o optimizer padrão do enxerto da partícula que encontra o valor o melhor em 1000 testes dentro do espaço da busca de 10000 combinações. OptimizerSetEngine spso OptimizerSetOption Funciona, OptimizerSetOption MaxEval, 1000.sl Optimize s, 26, 1 fa Otimizar f, 12, 1, 100, 1.Comprar Cross MACD fa, sl, 0 Vender Cross 0, MACD fa, sl. TRIBES - Parâmetro Adaptativo sem Particle Swarm Optimizer. Tribes é adaptativo, parâmetro-menos versão de PSO Otimizador não-exaustivo de otimização de enxame de partículas Para o fundo científico ver. Em teoria, ele deve executar melhor do que PSO regular, porque ele pode ajustar automaticamente os tamanhos de enxame e estratégia de algoritmo para o problema que está sendo resolvido. Prática mostra que seu desempenho é bastante semelhante ao PSO. O plugin implementa Tribes-D ie variante sem dimensão Baseado em por Maurice Clerc Códigos fonte originais usados ​​com permissão do autor. Vem com código fonte completo dentro da pasta ADK. Parâmetros suportados MaxEval - número máximo de avaliações backtests por padrão de execução 1000.Você deve aumentar o número de avaliações com número crescente de dimensões número de parâmetros de otimização O padrão 1000 é bom para 2 ou máximo 3 dimensões. Runs - número de execuções reinicia padrão 5 Você pode deixar o número de execuções no valor padrão de 5.O número padrão de execuções ou reinicializações é definido como 5.Para usar otimizador Tribes, basta adicionar uma linha ao seu código. OptimizerSetOption MaxEval, 5000 5000 avaliações max. CMA-ES - Covariance Matrix Adaptação Estratégia Evolutiva Optimizer. CMA-ES Covariance Matrix Adaptação Estratégia Evolutiva é avançado otimizador não-exaustiva Para o fundo científico ver De acordo com benchmarks científicos supera nove outras estratégias evolutivas mais populares como PSO, evolução genética e diferencial. O plugin implementa a variante global de pesquisa com vários reinícios com pop crescente Ulation tamanho vem com código fonte completo dentro ADK folder. By número padrão de execuções ou reinicia é definido como 5 É aconselhável deixar o número padrão de reinicializações. Você pode variá-lo usando OptimizerSetOption Runs, N chamada, onde N deve estar no intervalo 1 10 Especificar mais de 10 execuções não é recomendado, embora seja possível Note que cada execução usa DUAS vezes o tamanho da população da execução anterior para que ele cresça exponencialmente Portanto, com 10 execuções você acaba com a população 2 10 maior 1024 vezes que a primeira execução. É outro parâmetro MaxEval O valor padrão é ZERO o que significa que o plugin irá calcular automaticamente MaxEval necessário É aconselhável não definir MaxEval por si mesmo como padrão funciona bem. O algoritmo é inteligente o suficiente para minimizar o número de avaliações necessárias e converge muito rápido Ao ponto da solução, tão frequentemente encontra soluções mais rapidamente do que outras estratégias. É normal que o plugin pulará algumas etapas das avaliações, se detecta que a solução foi encontrada, para ela E você não deve se surpreender que a barra de progresso de otimização pode se mover muito rápido em alguns pontos O plugin também tem capacidade de aumentar o número de etapas acima do valor inicialmente estimado se for necessário para encontrar a solução Devido à sua natureza adaptativa, Ou o número de etapas exibido pelo diálogo de progresso é apenas melhor adivinhar no momento e pode variar durante o curso de otimização. Para usar otimizador CMA-ES, você só precisa adicionar uma linha ao seu código. Isso irá executar a otimização com configurações padrão que Estão bem para a maioria dos casos. Deve-se notar, como é o caso com muitos algoritmos de busca de espaço contínuo, que o parâmetro de etapa decrescente em Otimizar chamadas de funciton não afeta significativamente os tempos de otimização. A única coisa que importa é a dimensão do problema, Número de diferentes parâmetros número de otimizar chamadas de função O número de passos por parâmetro pode ser definido sem afetar o tempo de otimização, então use a resolução mais fina que você deseja Em theor Y o algoritmo deve ser capaz de encontrar solução em no máximo 900 N 3 N 3 backtests onde N é a dimensão Na prática, converge um LOT mais rápido Por exemplo, a solução em 3 N espaço de parâmetro tridimensional dizer 100 100 100 1 milhão etapas exaustivas pode Pode ser encontrado em tão pouco como 500-900 CMA-ES. Multi-threaded otimização individual. Iniciando a partir de AmiBroker 5 70, além de multithreading símbolo múltiplo você pode executar multi-threaded único símbolo de otimização Para acessar esta funcionalidade, clique em drop Se para baixo ao lado do botão Optimize na janela New Analysis e selecione Individual Optimize. Individual Optimize usará todos os núcleos de processador disponíveis para realizar a otimização de símbolo único, tornando-a muito mais rápida do que a otimização regular. No modo de símbolo atual, realizará a otimização em um símbolo Em todos os símbolos e modos de filtro irá processar todos os símbolos sequencialmente, isto é, primeira otimização completa para o primeiro símbolo, então otimização no segundo símbolo, etc. M backtester não é suportado ainda 2 motores de otimização inteligente não são suportados - otimização apenas otimização obras. Eventualmente, podemos nos livrar da limitação 1 - quando AmiBroker é alterado para backtester personalizado não usa OLE mais Mas 2 é provavelmente aqui para ficar por muito tempo.

Comments