Sunday, 18 March 2018

Estratégias de otimização de negociação


Otimização de Estratégias de Negociação - A Busca de Estabilidade e Desempenho.


Apresentador: Philipp Kahler, Sr, Analista Quantitativo, Intalus, Bremen, Alemanha.


Ao selecionar os parâmetros certos para uma estratégia de negociação algorítmica, você pode usar dados históricos para ajustar a estratégia ao mercado. Este seminário irá mostrar-lhe as regras que você pode seguir para obter uma estratégia de negociação estável que se encaixa no mercado.


Philipp nasceu na Áustria, estudou engenharia elétrica e trabalhou como comerciante e designer de estratégia para o departamento comercial de um grande banco alemão. Ele agora está treinando comerciantes institucionais sobre como projetar e testar estratégias de negociação automática.


Sistemas de Negociação: Solução de Problemas e Otimização.


Mesmo depois de projetar e construir com sucesso um sistema comercial comercial, um comerciante pode achar que seu sistema é imperfeito. Pode haver alguns problemas, como um evento que continua gerando perdas; ou talvez as regras sejam muito amplas e precisam ser otimizadas. Qual é a maneira mais fácil de resolver o problema? Quão eficaz é a otimização? Esta seção irá mostrar-lhe como solucionar problemas e otimizar seu sistema de negociação para maximizar os lucros e minimizar as perdas.


A solução de problemas é um aspecto muito importante do desenvolvimento do sistema. Um sistema comercial decente será rentável na maioria das condições de mercado, mas se ocasionar grandes perdas, você pode trabalhar para identificar e resolver o problema. Aqui estão quatro etapas fáceis:


Padrão de gráfico ou série de preços - Spike nos preços. Volume - Grande volume inicial e baixo volume depois disso. Licitação / Ask spread - Spike no preço em baixo volume geralmente indica um grande spread. Margem (se usado). Estas são algumas das áreas em que podem ocorrer problemas, que podemos ver analisando o gráfico abaixo. Observe os picos de preço em baixo volume pela seta verde. Observe também o grande volume (perto da seta azul) seguido de baixo volume depois disso. Se nenhum desses se revelar culpado, existem outros fatores que podem ser analisados, como tamanhos de bloco e padrões de gráficos avançados.


2. Avalie o problema - Use as informações que você reuniu para determinar o que exatamente causou o mau funcionamento do sistema ou gerar uma perda. Isso geralmente é feito usando o senso comum, ou analisando registros de transações (fornecidos por seu corretor). Aqui estão exemplos de como algumas das condições dos quatro fatores listados acima podem ser o motivo de um problema identificado:


Padrão de gráfico ou série de preços - O sistema não consegue vender durante quedas acentuadas ou comprar durante subidas íngremes. Talvez o sistema não tenha amplo tempo para comprar ou vender.


3. Considere as alternativas - Simplesmente tente algumas soluções para os problemas que você identificou. Considere as seguintes alternativas correspondentes aos problemas acima.


Padrão de gráfico ou série de preços - Uma alternativa é simplesmente dizer ao sistema que aguarde até que o preço se estabilize antes de comprar. Isso pode ser feito usando as diferenças entre os preços anteriores e o preço atual para criar uma regra.


4. Implementar uma solução - Finalmente, precisamos aplicar a solução e ver como ela funciona. O comércio de papel ou o teste de volta novamente antes da negociação ao vivo é muitas vezes uma boa idéia depois de aplicar uma solução, porque às vezes as soluções têm conseqüências não intencionais. Por exemplo, regras adicionais podem limitar esses dias baixos, mas também diminuir os lucros globais (devido a oportunidades perdidas).


A otimização simplesmente significa encontrar os melhores conjuntos de parâmetros para um determinado mercado. Esse processo pode melhorar marginalmente os resultados. No entanto, também traz muitos riscos, porque o seu pressuposto subjacente é que o desempenho passado é indicativo de futuros movimentos de preços. A otimização pode ser realizada alterando os valores do parâmetro que você deseja otimizar e depois testar essas alterações. Tenha em mente que os outros parâmetros devem permanecer constantes para que os efeitos das mudanças sejam determinados. Depois de encontrar o valor que produz o maior desempenho no teste de volta, implemente-o no sistema de negociação.


A otimização muitas vezes exagera os resultados. Isso ocorre porque os parâmetros são tão específicos e não universais que qualquer mudança no mercado (ou seja, o futuro) pode causar instabilidade.


Como regra geral, a otimização só deve definir configurações amplas para parâmetros em vez de configurar regras específicas - mesmo que tenha sido bem sucedido em backtesting e papel trading.


A solução de problemas é crucial para que seu sistema funcione da maneira que você quiser. É importante identificar quaisquer problemas, observando as ocorrências em que ocorreram e depois avaliando como certas condições de diversos fatores - como padrão de preço, volume, oferta / solicitação e margem - podem ter causado o problema.


Otimização de estratégias técnicas de negociação e rentabilidade nos mercados de segurança.


O objetivo final de qualquer estratégia de teste é medir a lucratividade. Este artigo mede a rentabilidade de regras comerciais simples baseadas em modelos não paramétricos que maximizam o retorno total de uma estratégia de investimento. A rentabilidade de uma estratégia de investimento é avaliada em relação a uma estratégia simples de compra e retenção na segurança e à distância do lucro líquido ideal. O desempenho preditivo é avaliado pelos testes de tempo de mercado de Henriksson-Merton e Pesaran-Timmermann para medir se as previsões têm valor econômico na prática. Os resultados de um exemplo ilustrativo indicam que modelos não paramétricos com estratégias técnicas fornecem lucros significativos quando testados contra estratégias de compra e retenção. Além disso, as previsões dos sinais desses modelos são estatisticamente significativas.


Classificação JEL.


Escolha uma opção para localizar / acessar este artigo:


Verifique se você tem acesso através de suas credenciais de login ou sua instituição.


Otimização de Estratégia.


O Strategy Tester permite que você teste e otimize as estratégias de negociação (Expert Advisors) antes de usá-las para negociação ao vivo. Durante o teste, um consultor especialista com parâmetros iniciais é executado em dados do histórico. Durante a otimização, uma estratégia de negociação é executada várias vezes com diferentes conjuntos de parâmetros que permitem selecionar a combinação mais adequada.


O Strategy Tester é uma ferramenta multi-moeda para testar e otimizar estratégias de negociação de múltiplos instrumentos financeiros. O testador processa automaticamente informações de todos os símbolos que são usados ​​na estratégia de negociação, portanto, você não precisa especificar manualmente a lista de símbolos para teste / otimização.


O Strategy Tester é multi-threaded, permitindo assim usar todos os recursos disponíveis do computador. Testes e otimização são realizados usando agentes de computação especiais instalados como serviços no computador do usuário. Os agentes trabalham de forma independente e permitem o processamento paralelo de passagens de otimização.


Um número ilimitado de agentes remotos pode ser conectado ao Strategy Tester. Além disso, o Strategy Tester pode acessar o MQL5 Cloud Network. Ele reúne milhares de agentes em todo o mundo, e esse poder computacional está disponível para qualquer usuário da plataforma de negociação.


Além dos testes e otimização do Expert Advisor, você pode usar o Strategy Tester para testar a operação de indicadores personalizados no modo visual. Este recurso permite testar facilmente a operação das versões de demonstração dos indicadores baixados do mercado.


Como otimizar.


Otimização significa múltiplas execuções de um Expert Advisor usando dados de histórico com diferentes conjuntos de parâmetros, visando encontrar sua melhor combinação. Durante várias corridas, diferentes combinações dos parâmetros de entrada de um Expert Advisor são testadas para encontrar as melhores.


Assista ao vídeo: como testar consultores e indicadores experientes antes da compra.


Assista ao vídeo para saber como testar um robô comercial antes de comprá-lo no mercado. Todos os produtos do mercado são fornecidos com uma versão de demonstração gratuita, que pode ser testada no Strategy Tester. Assista ao vídeo para obter detalhes.


Como selecionar um robô comercial para testes.


Clique em & quot; Teste " no menu de contexto de um Expert Advisor na janela Navigator.


Depois disso, o Expert Advisor é selecionado no Strategy Tester.


Habilite os símbolos necessários no Market Watch para consultores especializados de várias divisas.


O Strategy Tester permite estratégias de backtesting que comercializam vários símbolos. Esses robôs comerciais são convencionalmente chamados de assessores especializados em várias correntes.


O testador baixa automaticamente o histórico de símbolos necessários da plataforma de negociação (não do servidor de comércio!) Durante a primeira chamada dos dados de símbolo. Somente os dados do histórico de preços em falta são adicionalmente baixados do servidor de negociação.


Antes de iniciar a otimização de um Expert Advisor multi-moeda, habilite os símbolos necessários para testar no Market Watch. No menu de contexto, clique em & quot; Símbolos & quot; e habilite os instrumentos necessários.


Escolhendo configurações de otimização.


Antes de iniciar a otimização, selecione o instrumento financeiro para testar a operação do robô comercial, o período e o modo.


Símbolo e período.


Selecione o gráfico principal para testes e otimização. A seleção de símbolos é necessária para fornecer o desencadeamento de eventos OnTick () contidos em Expert Advisors. Além disso, o símbolo e o período selecionados afetam funções especiais no código Expert Advisor que usa os parâmetros atuais do gráfico (por exemplo, Symbol () e Period ()). Em outras palavras, o gráfico a que o Consultor Especial está vinculado deve ser selecionado aqui.


Selecione o período de teste e otimização. Você pode selecionar um dos períodos predefinidos ou definir um intervalo de tempo personalizado. Para definir um período personalizado, insira as datas de início e término nos campos apropriados à direita.


A característica específica do testador é que, adicionalmente, baixa alguns dados que precedem o período especificado (para formar no menos de 100 barras). Isso é necessário para um teste e otimização mais precisos. Por exemplo, se você testar em um período de uma semana, dois anos adicionais são baixados.


Se não houver dados de histórico suficientes para formar 100 barras adicionais (é especialmente significativo para os quadros mensais e semanais), por exemplo, ao especificar um início de teste próximo ao início dos dados de histórico existentes, a data de início do teste será ser automaticamente deslocado. Uma mensagem apropriada é adicionada ao jornal Strategy Tester.


Esta opção permite verificar os resultados da otimização para evitar ajustes em determinados intervalos de tempo. Durante a otimização direta, o período definido no campo Data é dividido em duas partes de acordo com o período de frente selecionado (meio, um terço, um quarto ou um período personalizado quando você especifica a data de início do teste para frente).


A otimização do Expert Advisor é realizada usando os dados do primeiro período. Depois disso, 10% (na busca completa) ou 25% (no algoritmo genético) das melhores corridas são selecionados e depois testados no período de avanço. Os resultados das melhores corridas de otimização em ambos os períodos podem ser comparados nas tabs Resultados de otimização e Resultados avançados.


O testador de estratégia permite que você imite os atrasos da rede durante uma operação do Consultor Especializado, a fim de tornar os testes mais próximos das condições reais. Uma certa demora é inserida entre a colocação de uma solicitação comercial e sua execução no testador de estratégia. A partir do momento de enviar um pedido até a sua execução, o preço pode mudar. Isso permite que você avalie como a velocidade de processamento comercial afeta os resultados da negociação.


No caso do modo de execução instantânea, os usuários podem verificar adicionalmente a resposta da EA a um requote do servidor de comércio. Se a diferença entre os preços solicitados e de execução exceder o valor de desvio especificado na ordem, a EA recebe um requote.


Observe que os atrasos funcionam somente para negócios realizados por uma EA (colocando pedidos, alterando os níveis de parada, etc.). Por exemplo, se uma EA usa ordens pendentes, os atrasos são aplicados somente para fazer um pedido, mas não para sua execução (em condições reais, a execução ocorre no servidor sem um atraso na rede).


Neste modo, todos os pedidos são executados a preços solicitados sem requerimentos. O modo é usado para verificar uma EA em condições "perfeitas".


Este modo permite testar uma EA em condições próximas das reais. O valor de atraso é gerado da seguinte forma: um número de 0 a 9 é selecionado aleatoriamente - este é o número de segundos para um atraso; se um número selecionado for igual a 9, outro número do mesmo intervalo é selecionado aleatoriamente e adicionado ao primeiro.


Assim, a possibilidade de um atraso de 0-8 segundos é de 90%, a possibilidade de um atraso de 9-18 segundos é de 10%.


Você pode selecionar um dos valores de atraso predefinidos ou definir um personalizado. A plataforma mede o ping para o servidor de comércio e permite que você configure esse valor como um atraso no testador para que você seja capaz de testar um robô nas condições mais próximas possível das reais.


Marque o modo de geração.


Selecione um dos modos de geração de tiques:


Cada marca é a mais precisa, mas também o modo mais lento. Emula todos os carrapatos. Cada tiquetaque baseado em tiques reais é tão próximo das condições reais quanto possível. Usa tiques reais de instrumentos financeiros acumulados por um corretor. A emulação não é realizada. Os dados de marcação têm tamanho maior. Fazer o download pode levar bastante tempo durante o primeiro teste. 1 minuto OHLC - neste modo apenas 4 preços (Open, High, Low e Close) de cada barra de minutos são emulados. Apenas preços abertos - neste modo, os preços da OHLC também são modelados, no entanto, apenas o preço aberto é usado para testes / otimização. Cálculos de matemática - neste modo, o testador não faz o download dos dados e informações do histórico em símbolos e também não gera carrapatos. Somente as funções OnInit (), OnTester () e OnDeinit () são chamadas. Assim, um testador pode ser usado para vários cálculos matemáticos onde a seleção de parâmetros é necessária.


Para obter mais informações sobre a geração de tiques, leia a seção apropriada.


Depósito inicial e alavancagem.


Especifique a quantidade do depósito inicial usado para testes e otimização. A moeda depende da moeda de depósito da conta atualmente conectada. Em seguida, selecione a alavanca para testes e otimização.


Otimização.


Selecione o modo de otimização:


Algoritmo completo lento - testando todas as combinações possíveis de parâmetros de entrada selecionados. Algoritmo genético rápido - procure os melhores valores de parâmetros de entrada com base no algoritmo genético. Todos os símbolos selecionados no Market Watch - teste do mesmo conjunto de parâmetros de entrada com diferentes instrumentos de negociação.


Para mais detalhes sobre os tipos disponíveis, leia a seção apropriada.


Observe que a especificação de símbolo não significa que o testador use apenas esses dados de histórico. O testador baixa automaticamente informações sobre todos os símbolos usados ​​no Expert Advisor. Antes de testar / otimizar, todos os dados de preço disponíveis do símbolo no gráfico principal são baixados automaticamente do servidor. Pode demorar bastante tempo se a ligação à Internet for lenta. O download de todos os dados é executado uma vez, apenas as informações faltantes são baixadas durante as próximas iniciações. Somente os símbolos atualmente selecionados no Market Watch estão disponíveis para teste / otimização. Os dados de preço de todos os símbolos necessários são baixados automaticamente do servidor durante o teste e otimização. Os testes começam e finalizam às 00h. 00m.00s. das datas especificadas. Assim, a data de início do teste / otimização está incluída no período de teste, enquanto a data de término não está incluída. O teste termina no último tic da data anterior. Além disso, você não pode especificar a data de término, que é maior que a atual. Nesse caso, o teste de qualquer maneira será executado até a data atual (não incluindo).


A otimização rápida baseada no algoritmo genético é habilitada selecionando critérios de otimização no campo localizado à direita. Este campo define o parâmetro, com base no qual o Consultor Expert mais bem sucedido é executado. Quanto maior o valor de um parâmetro selecionado, melhor será o resultado.


Depois de configurar todos os parâmetros, clique em & quot; Iniciar & quot ;. Isso lança o processo de teste e otimização.


As configurações do testador de estratégia são memorizadas quando o teste / otimização é iniciado. No caso de uma parada de otimização regular (quando você pressiona o botão Parar) todas as corridas previamente calculadas são salvas. Quando o processo de otimização é retomado, ele continua a partir da última execução calculada.


Seleção de parâmetros de entrada.


Os parâmetros de entrada permitem que você controle o comportamento do Consultor Especializado, adaptando-o a diferentes condições de mercado e um instrumento financeiro específico. Por exemplo, você pode explorar o desempenho do Expert Advisor com diferentes valores Stop Loss e Take Profit, diferentes períodos da média móvel utilizada para análise de mercado e tomada de decisão, etc.


A otimização está testando diferentes valores & # 8203; & # 8203; e combinações de parâmetros de entrada para obter o melhor resultado.


Para habilitar a otimização de um parâmetro, marque a caixa de seleção apropriada. Em seguida, defina o início e o fim do intervalo de valores, bem como a etapa de teste. Você pode selecionar um ou mais parâmetros. O número total de combinações possíveis é exibido abaixo da lista de parâmetros.


Conjuntos de parâmetros. Você pode, a qualquer momento, retornar às configurações atuais do seu programa MQL5, salvando um conjunto de seus parâmetros usando um menu de contexto:


Para salvar os parâmetros como um arquivo definido em seu computador, clique em & quot; Save & quot ;. Esses arquivos podem ser movidos entre plataformas em diferentes computadores ou enviados para outros usuários. Para salvar parâmetros para uso futuro na plataforma atual, clique em "Salvar versão". Essas predefinições salvas estarão disponíveis, em seguida, na "Versão de carregamento & quot; submenu. Eles podem ser aplicados a qualquer momento, selecionando uma versão apropriada da lista.


Início da Otimização.


Para iniciar a otimização, clique em & quot; Iniciar & quot; no & quot; Configurações & quot; aba. O progresso da otimização é exibido para a esquerda.


Onde visualizar os resultados da otimização.


Os resultados detalhados de cada execução de otimização são exibidos na "Otimização" aba. A guia contém resultados gerais de testes, incluindo lucro e número de negócios, bem como muitos valores estatísticos para ajudar a avaliar o desempenho do robô comercial.


Consulte a seção de relatório de teste para obter detalhes.


O relatório de otimização pode ser classificado por qualquer parâmetro clicando no cabeçalho da coluna. Use a classificação para encontrar a combinação mais rentável de parâmetros e execute um único teste para um relatório detalhado.


Os seguintes valores são exibidos para cada execução de otimização:


Passe - o número da corrida de testes; Resultado - o valor resultante do parâmetro que é o critério de otimização para selecionar as melhores corridas; Lucro - lucro / perda recebido após a corrida; Negociações totais - o número total de negócios (negócios que resultaram na fixação de lucros ou prejuízos) executados para a execução; Fator de lucro - a proporção do lucro total para a perda total em percentuais. Um valor de um significa que esses parâmetros são iguais; Pagamento esperado - um valor calculado estatisticamente que reflete a rentabilidade média / perda de um comércio; Drawdown - a redução relativa do capital próprio, a maior perda em percentuais do valor máximo do patrimônio líquido. A retirada de ativos por um Consultor Especial durante a otimização é levada em consideração durante o cálculo de retirada; Fator de recuperação - este parâmetro exibe o nível de risco da estratégia (os fundos que são colocados em risco para ganhar o lucro obtido). É calculado como a proporção do lucro obtido para a redução máxima; Sharpe Ratio - este parâmetro mostra a eficiência e a confiabilidade da estratégia. Ele reflete a proporção do lucro médio aritmético para o tempo de retenção de posição para o desvio padrão dele. Além disso, esse valor inclui a taxa livre de risco, que é o interesse em um determinado valor do depósito bancário; Entradas otimizadas - além dos valores estatísticos comuns, os valores dos parâmetros de entrada definidos para esta execução são mostrados aqui.


Usando os comandos do menu de contexto, você pode mostrar / ocultar algumas das colunas acima. Por conveniência, verifique a opção "Alternar para resultados de otimização" opção: uma vez que o processo de otimização esteja completo, o Strategy Tester irá mudar automaticamente para a guia Resultados. O mesmo comando está disponível no menu de contexto da guia Diário.


Se a otimização incluir testes diretos, esta guia também contém os valores correspondentes do parâmetro de otimização (critério de otimização) para os testes de retorno e de avanço. Você pode alternar entre os resultados dos testes de retorno e de avanço usando o menu de contexto. Um duplo clique em um dos resultados de otimização inicia o teste Expert Advisor com os parâmetros dessa execução (desde que a otimização tenha terminado). Durante a otimização genética, uma das corridas de teste (um membro da população) pode ter os mesmos parâmetros (genes) que o teste anterior. Nesse caso, esta execução não é exibida na guia de resultados, pois tem o mesmo resultado de teste. No entanto, o gráfico de otimização exibe todas as corridas de teste para visualizar o processo de busca do melhor resultado. Se uma linha de uma execução de otimização tiver o fundo vermelho, isso significa que ocorreu um erro durante a operação do consultor especialista. Uma mensagem apropriada também é adicionada ao log do testador ("testado com erro").


Análise de Resultados de Otimização em Software de Terceiros.


Para analisar resultados em programas de terceiros, por exemplo, o Office Excel, o relatório de otimização pode ser salvo como um arquivo através do & quot; Exportar para XML & quot; comando do menu de contexto.


Os valores numéricos de todos os parâmetros e características obtidos durante a otimização são salvos como um arquivo XML em platform_data_folder / tester / cache /. O arquivo é nomeado de acordo com a seguinte regra: ExpertName. Symbol. Period. GenerationMode. xml, Aqui:


ExpertName - o nome do Expert Advisor otimizado; Símbolo - instrumento financeiro; Período - prazo (M1, H1.); GenerationMode - modo de geração de tiquetaque (0 - "Every tick", 1 - "1 OHLC de minuto", 2 - "Open prices only").


Durante a otimização genética, os resultados intermediários são salvos no cache após o cálculo de cada geração (em uma plataforma de arquivo_data_folder / tester / cache / *. Gen). Assim, o processo de otimização pode ser interrompido a qualquer momento. Mesmo que o processo de otimização genética seja interrompido como resultado de um fator externo (por exemplo, um black out), a otimização será continuada automaticamente a partir da última geração calculada depois de reiniciá-la. O cache de otimização genética é armazenado até que as configurações de otimização sejam alteradas ou o processo de otimização seja concluído. No caso de uma parada de otimização regular (quando você pressiona o botão Parar) todas as corridas previamente calculadas são salvas. Quando o processo de otimização é retomado, ele continua a partir da última execução calculada.


A Visualização de Resultados de Otimização.


O Strategy Tester na plataforma de negociação oferece um poderoso sistema de visualização para apresentar resultados de otimização. Abrir "gráfico de otimização". A guia contém vários tipos de gráficos, você pode alternar entre eles usando o menu de contexto.


Linha zero (plano)


Todos os tipos de gráficos, exceto o plano, têm uma linha zero (ou um painel se for um gráfico tridimensional). Se o valor do saldo for usado como critério de otimização, esta linha geralmente significa o depósito inicial, permitindo separar visualmente as passagens deficitárias e rentáveis. Em todos os outros casos, esta linha é desenhada no valor zero do critério de otimização.


Gráfico de resultados e gráfico linear (1D)


Um gráfico com resultados de otimização é aberto por padrão. Cada passagem de um Expert Advisor com certos parâmetros de entrada é exibida como um ponto no gráfico. O número de uma passagem é mostrado no eixo horizontal, o valor do parâmetro que é o critério de otimização é mostrado no eixo vertical.


O gráfico linear (1D) mostra a variação do parâmetro selecionado como critério de otimização (eixo vertical) dependendo de um dos parâmetros de otimização selecionados para o eixo horizontal. Para selecionar um parâmetro para o eixo horizontal, use o & quot; X Axis & quot; comando no menu de contexto.


Gráfico plano (2D) e gráfico tridimensional (3D)


No modo de gráfico bidimensional, as variações dos parâmetros selecionados utilizados para otimização são mostradas em ambos os eixos. A variação do critério de otimização é mostrada usando o gradiente de cor. Quanto maior a cor, maior o valor do critério de otimização.


No modo de visualização tridimensional, as mudanças nos parâmetros selecionados utilizados para otimização são mostradas nos eixos X e Y. A variação do critério de otimização é exibida no eixo Z vertical e usando um gradiente de cor.


Para selecionar um parâmetro para os eixos horizontal e vertical, use os comandos & quot; X Axis & quot; e "eixo Y" no menu de contexto.


Gerenciamento de gráfico 3D usando um mouse.


Para mover um gráfico, pegue sua parte central usando o botão esquerdo do mouse e mova o cursor. Para girar um gráfico em torno de seu eixo vertical, pegue-o fora do centro e mova o cursor. Para girar um gráfico em torno de seu eixo horizontal, rote a roda do mouse pressionando o "Ctrl" chave. Para ampliar / diminuir um gráfico, pressione & quot; Ctrl & quot; e mova o cursor do mouse verticalmente na parte central do gráfico, mantendo pressionado o botão esquerdo do mouse. Para mover o plano zero, pressione & quot; Ctrl & quot; e mova o cursor do mouse verticalmente para fora da parte central do gráfico, mantendo pressionado o botão esquerdo do mouse. Para retornar à posição inicial do gráfico, clique duas vezes em sua parte central.


Gerenciamento de gráfico 3D usando um teclado.


Mostrar / ocultar a grade.


Alternando entre enchimento sólido e enchimento com linhas.


A câmera se move para cima (o gráfico move para baixo).


A câmera se move para baixo (o gráfico se move para cima).


A câmera se move para a direita (o gráfico se move para a esquerda).


A câmera se move para a esquerda (o gráfico se move para a direita).


A câmera se aproxima (amplie o gráfico).


A câmera se afasta (reduz o gráfico).


Gire o gráfico para baixo em torno de seu eixo horizontal.


Gire o gráfico para cima em torno de seu eixo horizontal.


Gire o gráfico em torno do eixo vertical no sentido anti-horário.


Gire o gráfico em torno do eixo vertical no sentido horário.


Movendo o plano zero para cima por um.


Movendo o plano zero para baixo em um.


Movendo o plano zero para cima em 10 unidades.


Movendo o plano zero para baixo por 10 unidades.


Movendo o plano zero para o valor máximo do gráfico.


Movendo o plano zero para o valor mínimo do gráfico.


Aumentando a transparência do plano zero.


Reduzindo a transparência do plano zero.


Configurando a máxima transparência do plano zero (ele desaparece).


Definir a transparência mínima do plano zero (torna-se não transparente).


Repor as configurações de gráfico padrão.


& quot; 5? toque o teclado numérico.


Testando um Robô de Negociação em um Período Avançado Não Otimizado.


O teste avançado é a execução repetida dos melhores resultados de otimização em um período de tempo diferente. Esse recurso permite evitar ajustes de parâmetros em determinadas áreas de dados históricos.


Para iniciar o teste direto, no campo Avançar da guia Configurações, selecione a parte do período total para isso:


Não são utilizados ensaios sem avanço; 1/2 - metade do período especificado é usado para o teste para frente; 1/3 - um terço do período especificado é usado para o teste para frente; 1/4 - uma quarta do período especificado é usado para o teste para frente; Personalizado - especifique o dia de início do teste direto manualmente.


A segunda (última) parte do período total é sempre tomada para o teste para frente. A data de início do teste direto é exibida como uma linha vertical no gráfico de otimização.


A parte selecionada é separada do período especificado na & quot; Date & quot; campo. A primeira parte é o período de teste de volta, e o segundo é o período de teste para frente.


A otimização total (lenta ou rápida) do Expert Advisor é realizada no período de teste de volta. Depois disso, 10% (na busca completa) ou 25% (no algoritmo genético) das melhores corridas são selecionados e depois testados no período de avanço.


Existe um limite inferior para o número de passagens de teste para frente. Se o número de melhores execuções for inferior a 256, as melhores corridas adicionais são usadas para o teste direto até o número atingir 256. Se o número de todas as corridas for inferior a 256, todas elas participam de teste direto.


Os resultados dos testes de retorno e de avanço podem ser comparados nos "Resultados da Otimização" (selecione & quot; resultados de teste direto & quot; no menu de contexto) e & quot; Forward Results & quot; guias. Quanto melhores os resultados coincidem, mais provável é que o Consultor Especialista mostre bons resultados na negociação real.


A visualização dos resultados de otimização no período de avanço está disponível no "Gráfico de otimização de Avanço" aba. Para comparar esses resultados com o backtest, alternar entre eles usando o menu de contexto.


Testes Multithread Usando Agentes.


O Multithreaded Strategy Tester usa todos os recursos disponíveis do computador. Testes e otimização são realizados usando agentes de computação especiais instalados como serviços no computador do usuário. Os agentes trabalham de forma independente e calculam a otimização em paralelo.


Existem três tipos de agentes disponíveis: local, remoto e nuvem (MQL5 Cloud Network). Os agentes locais são instalados automaticamente quando você instala a plataforma de negociação. Seu número é igual ao número de núcleos logicos do computador.


Abra os "Agentes" no testador de estratégia e selecione o tipo de agentes que você deseja usar para otimizar.


Dicas e recursos:


Para economizar a bateria do laptop, você pode desativar agentes locais e usar apenas os dispositivos remotos e náuticos. Se o teste / otimização não for concluído manualmente (nem pressionando o botão Parar na guia de configurações nem fechando a plataforma de negociação), os processos de agentes locais usados ​​não são descarregados da memória do computador por 5 minutos. Esse recurso permite evitar atrasos relacionados com a preparação do histórico de preços e o início dos processos do agente quando re-testar / re-otimizar o mesmo Expert Advisor no mesmo símbolo, horário e período de tempo. Somente agentes locais são instalados juntamente com a instalação da plataforma. Eles são usados ​​apenas no Strategy Tester da plataforma local. Os agentes remotos que também podem ser conectados ao MQL5 Cloud Network global podem ser instalados apenas manualmente.


Como acelerar a otimização usando uma fazenda local de agentes.


Você pode comprar um processador com mais núcleos, mas não permite multiplicar o número de tarefas simultâneas. Você pode criar seu próprio farm de agentes de processamento em sua rede local.


Como criar uma fazenda de agentes.


Instale agentes em cada computador da rede local. Se a plataforma estiver instalada em um computador, abra o gerenciador de agentes de teste usando o & quot; Ferramentas & quot; cardápio.


Caso contrário, faça o download de um aplicativo separado para gerenciar agentes MetaTrader 5 Strategy Tester Agent e passar pelo processo de instalação simples.


Na guia Serviços do gerenciador:


Selecione o número de agentes a serem instalados. Eles são instalados com base no número de núcleos lógicos. Digite a senha para se conectar ao agente. Selecione um intervalo de portas para conexão. Clique em Adicionar.


Após a instalação, os agentes estão disponíveis para uso de outros computadores na rede local.


Os agentes remotos só podem ser usados ​​em sistemas de 64 bits.


Para economizar tráfego e espaço em disco, bem como por motivos de segurança:


mensagens de Expert Advisors (função Print ()) e mensagens sobre operações comerciais não são adicionadas ao Journal; A chamada DLL é proibida em agentes remotos.


Como conectar agentes.


Abra o testador de estratégia. Na guia "Agentes", selecione & quot; Local Network Farm & quot; e clique em & quot; Add & quot; no menu de contexto.


The easiest and fastest way is to automatically scan the local network for a range of IP addresses and ports. Select them and enter the agent connection password that was specified during installation.


Click "Finish" and all the found agents become available for testing.


Other options to add agents:


Add agents (by IP address or domain name) — specify the IP address or domain name of a server where agents are installed, as well as the range of ports and password for connecting to the agents. Import from file *.mt5 — select this option, click "Next" and specify the *.mt5 file from which you want to import agents.


Agents installed on the computer using MetaTester 5 Agents Manager, can be connected as remote on the same computer. If the processor cores have extra computation power during calculations, they can take a higher load to use all the computing capacity.


How to Change Agent Settings.


To change the settings, click the " Edit" comando em seu menu de contexto.


The following fields are available in the settings window:


Name — the name of the agent; Address — IP address and port for connecting to an agent, separated by a colon; Password — password for connection; Enable — this option allows to enable or disable the use of the agent during testing and optimization.


In settings of local agents only the option of enabling/disabling them is available.


Import and Export of Settings of Remote Agents.


To make setting up of remote agents easier, the platform provides a feature for importing and exporting their settings. The files of settings have the *.mt5 extension. The import and export commands are located in the context menu of the "Agents" aba.


Files of settings have the following format: Name;Address:port;Password;Description;Enable.


Name — the name of the agent; Address:port — IP address and port for connecting to an agent, separated by a colon; Password — password for connection; Description — description of the hardware the agent is running on; Enable — agent operation mode: 1 — the agent is enabled, 0 — the agent is disabled.


Settings of different agents are separated from each other with line breaks.


How to Speed Up Optimization Using the MQL5 Cloud Network.


The MQL5 Cloud Network allows you to quickly optimize your Expert Advisors using the power of thousands of computers. The network combines remote agents and distributes optimization tasks among them. The Strategy Tester connects to the cloud network through multiple access points, which are distributed on a territorial basis (e. g., MQL5 Cloud Europe).


Features of the MQL5 Cloud Network.


The entire power of the MQL5 Cloud Network is used only for Complete slow optimization. During genetic optimization, only agents of one access point are used. It is connected with the specific features of the genetic algorithm. The genetic optimization mode is automatically enabled when the total number of optimization steps exceeds 100 million. MQL5 Cloud Network can be used in 64 bit systems only. In addition to using the MQL5 Cloud Network, you can provide your CPU computing power in the network. To install the remote agents and include them into the network, use a special utility MetaTester. Read more about the MQL5 Cloud Network on the official site.


Payments for the Use of the MQL5 Cloud Network.


Using agents of the MQL5 Cloud Network is paid. The formula for calculating the cost is described in a separate section. The current MQL5munity account balance is displayed above the list of cloud agents. To use MQL5 Cloud Network a user needs to have at least 1 US dollar on the MQL5munity account. Tasks are passed in packages to several access points simultaneously, and the user must be able to pay for completion of that tasks. The Network is not able to calculate the exact cost as the time and resources required for calculations cannot be estimated precisely before the start of calculations.


Enabling MQL5 Cloud Network.


To use the network agents, enable them using command " Enable" no menu de contexto. Since the MQL5 Cloud Network is a paid service, a user must have an account at the MQL5munity website, through which all the accounting operations are performed. Account details are specified on the MQL5munity tab of the platform settings.


If you do not specify the details of your MQL5munity account before enabling the MQL5 Cloud Network agents, you will be offered to do this.


If you have not registered on the website, use the new account creation link.


Starting Calculations Using the MQL5 Cloud Network.


Like with a conventional optimization, you need to set all the testing options and Expert Advisor input parameters. On the Agents tab, you can monitor how the Strategy Tester distributes tasks to available agents. The number of available and currently used agents is displayed for each access point.


Traders may need to run hundreds of thousands of optimization passes in a reasonable time. With the multi-threaded Strategy Tester and the MQL5 Cloud Network, in one hour you can complete the calculations that would require a few days without the network. The computing power of thousands of cores is available straight on the trading platform.


Trading Strategy Optimization.


A trading strategy is created by taking trading concepts, ideas and observations about historical market behavior and implementing them into a trading system. Whenever you find an optimal solution for doing anything in everyday life, you are actually performing implicit optimization. Therefore, people often use trading system optimization when creating trading strategies as well. Para obter informações técnicas sobre este recurso, consulte a página Wiki relacionada.


Como funciona?


The aim of any optimization is to adjust one’s trading system in an attempt to make it more effective. Strategy optimization is searching for optimum parameters for predefined criteria. By testing a range of strategy input values, optimization selects values that correspond to optimal strategy performance based on historical data. As a result, a trader gets many possible input combinations to find ones that result in the best performance.


Extensive choices.


MultiCharts offers exhaustive and genetic optimization, as well as walk-forward testing. Each optimization type offers its own advantages and disadvantages, and each is great for accomplishing certain tasks. You can use them separately, or you can combine them to get a complete look at strategy performance. Walk-forward testing combines optimization and backtesting. During the process, optimal inputs are tested against real market conditions to see how they would perform.


Speed up optimization.


MultiCharts uses multi-threading, which is a technology for distributing optimization cycles across all available CPUs. If you have multiple cores then all of them will be used as instances of your optimization running simultaneously. Data is loaded separately into each core at the same time for fast optimization, essentially creating a virtual chart. The 64-bit version of MultiCharts can easily handle huge volumes of data required for this operation, resulting in you using your time more efficiently and effectively during optimizations.


Optimization Report.


This report shows the optimization results, columns represent 18 strategy performance fields as well as all the inputs which were optimized during the current run. Each row represents a set of test results for a given inputs combination. You can filter the outputs by one or more criteria. For example, to find a strategy with the maximum net profit and minimum max drawdown—first sort by net profit in ascending order and then by drawdown in descending order.


Choose between Exhaustive Search and Genetic Algorithm.


Each optimization type has its benefits and drawbacks. You must choose the right tool to get the job done, and find the result you need. If you are testing many possibilities, exhaustive optimization takes a very long time — even with multi-threading. The advantage of exhaustive optimization is that it is guaranteed to find the absolute optimal inputs in the testing range. Therefore, it should be used where the number of possibilities is relatively small, or where you must find the absolute best solution. Another nuance is that the absolute best inputs might actually be an outlier, which does not result in good performance on a consistent basis. Genetic optimization addresses this issue because it performs strategy optimization differently.


Exhaustive (Brute-Force) Optimization.


Strategy optimization is done to find good parameters, and eliminate bad ones. Exhaustive optimization systematically goes through all potential combinations as it searches for the solution with the highest results for the criteria you choose. You can find inputs that maximize net income, minimize drawdown, or result in fewest trades. The amount of time the exhaustive optimization feature needs to find the solution relates directly to the number of possible combinations it needs to test — the more combinations you have, the longer it will take. If only a few parameters are tested for a short range, this method is definitely optimal for finding the best inputs.


Genetic Optimization.


Genetic Algorithms optimization evaluates only more promising combinations, finding near-optimum solutions in a fraction of time that would be required by the brute-force approach, making Genetic Algorithms optimization powerful enough to analyze strategies with hundreds of parameters. Genetic Optimizer settings add flexibility to this technique. The algorithm starts by testing a number of random combinations, select the most potential ones and then combine and modify them further to finally arrive at the best input settings. Instead of mechanically checking every conservable combination, genetic algorithms quickly narrow down the number of potential winners by finding and focusing on the areas that are most profitable and most stable. Thus, genetic algorithms avoid superfluous calculations in the lowest net profit potential zones.


Custom Fitness Function Optimization.


With this feature you can optimize your strategy using several conditions, as opposed to just one. For example, you can find a strategy that combines the greatest profit, lowest drawdown, and the highest percentage of profitable trades. You can use custom fitness function optimization in regular and portfolio backtesting—as well as with genetic and exhaustive trading system optimization. PowerLanguage has a keyword called SetCustomFitnessValue. This word can be used with other keywords, such as GrossProfit and TotalTrades, to create a custom equation for which your strategy will be optimized. You can also create a similar equation in Java script, if you are more familiar with that language. More specific information is found on the related Wiki page.


3D optimization graphs.


3D optimization graphs give visual representations of how the strategy parameters affect trading performance. The 3D graph reveals most robust parameter zones, and is a great tool for avoiding over-optimization, which also known as curve-fitting. A strategy that has abrupt performance breakdowns with only small parameter changes cannot be considered robust. You can superimpose results of different optimizations onto each other to compare results, and see if the optimal inputs you found are confirmed by other tests. You can use superimposition to compare genetic and exhaustive optimization results, and you can evaluate how robust your findings are. 3D surfaces can be drawn by any criteria available in the optimization report, for example, net profit, percent profitable and max drawdown. Relevant input and output values are displayed when the mouse cursor hovers over a particular point on the graph’s surface.


OwnData e todos os produtos MCFX foram descontinuados. Encontre aqui a substituição MCFX. Bitcoin to Dollar Charts on TradingView.

No comments:

Post a Comment