Nesta série de artigos, procuraremos uma aplicação prática da teoria da probabilidade para descrever o processo de negociação e precificação. No primeiro artigo, conheceremos os fundamentos da combinatória e da teoria da probabilidade, e analisaremos o primeiro exemplo de aplicação de fractais no âmbito desta última.
Neste artigo, mostrarei uma versão aprimorada da abordagem de força bruta, com base nos objetivos definidos no artigo anterior, e tentarei cobrir este tópico da forma mais ampla possível usando os EAs e as configurações obtidas por meio desse método. Também deixarei que a comunidade experimente a nova versão do programa.
Neste artigo, eu demonstrarei algumas técnicas muito interessantes e úteis para a negociação automatizada. Algumas delas podem ser familiares para você. Eu tentarei cobrir os métodos mais interessantes e explicarei por que vale a pena usá-los. Além disso, eu mostrarei o que essas técnicas podem fazer na prática. Nós criaremos Expert Advisors e testaremos todas as técnicas descritas usando as cotações históricas.
Este artigo dá continuidade ao tópico sobre força bruta, trazendo novos recursos de análise de mercado para o algoritmo do meu programa e acelerando, assim, a velocidade da análise e a qualidade dos resultados finais, o que fornece a visão da mais alta qualidade de padrões globais dentro da estrutura desta abordagem.
Neste artigo, continuarei o tópico sobre força bruta. Tentarei apresentar melhor os padrões com ajuda de uma nova versão melhorada do meu programa e me esforçarei para encontrar a diferença a nível de estabilidade usando diferentes períodos gráficos.
Treinamento do classificador CatBoost em Python e exportação do modelo para a mql5, bem como a análise dos parâmetros do modelo e um testador de estratégia customizado. A linguagem Python e a biblioteca MetaTrader 5 são usadas para preparar os dados e treinar o modelo.
O programa foi modificado com base nos comentários e solicitações dos usuários e leitores desta série de artigos. Este artigo contém uma nova versão do otimizador automático. Esta versão implementa os recursos solicitados e fornece outras melhorias, que eu descobri ao trabalhar com o programa.
Neste artigo, procuraremos padrões no mercado, criaremos Expert Advisors com base neles e verificaremos quanto tempo esses padrões permanecem funcionais.
Este artigo descreve uma forma de otimização rápida por meio do método de enxame de partículas e apresenta uma implementação em MQL pronta para ser utilizada tanto no modo thread único dentro do EA quanto no modo multi-thread paralelo com complemento que executado nos agentes locais do testador.
O artigo é dedicado à geração programática de símbolos personalizados que são usados para demonstrar alguns métodos populares de exibição de cotações. Ele descreve uma variante sugerida da adaptação minimamente invasiva de Expert Advisors para negociar um símbolo real a partir de um gráfico de símbolo personalizado e derivado. Os códigos-fonte em MQL estão anexados a este artigo.
Este artigo apresenta uma descrição e instruções para o uso prático de módulos de redes neurais (MRN) na plataforma Matlab. Também aborda os principais aspectos para construção de um sistema de negociação usando o MRN. Para realizar uma apresentação concisa deste artigo, tive que modernizá-lo um pouco de forma a combinar várias funções da MRN num programa.
Este artigo descreve a vinculação da parte gráfica do programa do otimizador automático com a sua parte lógica. Ele considera o processo de inicialização da otimização, pelo clique de um botão até o redirecionamento da tarefa ao gerenciador de otimização.
Anteriormente, nós consideramos a criação da otimização walk forward automática. Desta vez, nós prosseguiremos para a estrutura interna da ferramenta de otimização automática. O artigo será útil para todos aqueles que desejam continuar trabalhando com o projeto criado e modificá-lo, bem como para aqueles que desejam entender a lógica do programa. O artigo atual contém diagramas UML que apresentam a estrutura interna do projeto e os relacionamentos entre seus objetos. Ele também descreve o processo de início da otimização, mas não contém a descrição do processo de implementação do otimizador.
Este artigo fornece uma descrição mais detalhada da otimização walk-forward na plataforma MetaTrader 5. Nos artigos anteriores, nós consideramos os métodos para gerar e filtrar o relatório de otimização e começar a analisar a estrutura interna do aplicativo responsável pelo processo de otimização. O Otimizador Automático é implementado como uma aplicação em C# e possui sua própria interface gráfica. O quinto artigo é dedicado à criação dessa interface gráfica.
O principal objetivo do artigo é descrever o mecanismo de trabalho com nosso aplicativo e seus recursos. Assim, o artigo pode ser tratado como instruções sobre como utilizar o aplicativo. Ele cobre todas as possíveis dificuldades e detalhes do uso do aplicativo.
A terceira parte serve como uma ponte entre as duas partes anteriores: Ele descreve o mecanismo de interação com a DLL considerada no primeiro artigo e os objetos para download de relatórios, descritos no segundo artigo. Nós analisaremos o processo de criação de um wrapper para uma classe que é importada da DLL e que forma um arquivo XML com o histórico de negociação. Nós também consideraremos um método para interagir com este wrapper.
O primeiro artigo da série Otimização Walk Forward descreveu a criação de uma DLL a ser usada em nosso otimizador automático. Essa continuação é inteiramente dedicada à linguagem MQL5.
O desenvolvimento de estratégias de negociação está associado ao processamento de grandes quantidades de dados. Agora, em MQL5, você pode trabalhar com bancos de dados usando consultas SQL baseadas no SQLite. Uma vantagem importante desse mecanismo é que todo o banco de dados está contido em um único arquivo, localizado no computador do usuário.
Neste artigo, nós visualizaremos características sazonais de séries temporais financeiras usando diagramas Boxplot. Cada boxplot separado (ou diagrama de caixa) fornece uma boa visualização de como os valores são distribuídos ao longo do conjunto de dados. Os boxplots não devem ser confundidos com os gráficos de velas, embora possam ser visualmente semelhantes.
O primeiro artigo é dedicado à criação de um kit de ferramentas para trabalhar com os relatórios de otimização, importá-los da plataforma e para filtrar e classificar os dados obtidos. A MetaTrader 5 permite baixar os resultados da otimização, no entanto, nosso objetivo é adicionar nossos próprios dados ao relatório de otimização.
O artigo considera uma abordagem para o teste de estresse de uma estratégia de negociação usando os símbolos personalizados. Uma classe de símbolo personalizada é criada para essa finalidade. Esta classe é utilizada para receber os dados de ticks de fontes de terceiros, bem como realizar alterações das propriedades do símbolo. Com base nos resultados do trabalho realizado, nós consideraremos várias opções para alterar as condições de negociação, sob as quais uma estratégia de negociação está sendo testada.
Neste artigo, nós examinaremos o modelo de padrões de Merrill e tentaremos avaliar qual a sua relevância atual. Para isso, nós desenvolveremos uma ferramenta para testar tais padrões e aplicar o modelo a vários tipos de dados, como preços de fechamento, máxima e mínima, além dos osciladores.
Este artigo é uma continuação da publicação anterior sobre a criação de uma interface gráfica para gerenciar otimizações. Nele, abordaremos a lógica do robô para o complemento a ser criado. Criaremos um wrapper que permitirá iniciar o terminal MetaTrader 5 como um processo gerenciado através do C#. Também consideraremos o trabalho com arquivos de configuração. Dividiremos a lógica do programa em duas partes, a primeira descreverá os métodos chamados após pressionar uma tecla específica e a segunda, a parte da inicialização e do gerenciamento de otimizações.
Este artigo descreve um processo para criar uma extensão projetada para o terminal MetaTrader. Essa solução ajuda a automatizar o processo de otimização através de sua execução em outros terminais. Outros artigos serão escritos com base neste artigo para desenvolver este tópico. A extensão será escrita usando linguagem C# e modelos de programação, o que, além do objetivo principal deste artigo, mostrará não apenas a capacidade do terminal de expandir os recursos originalmente criados através da escrita de templates próprios, mas também como criar facilmente gráficos personalizados numa linguagem com os recursos mais convenientes para isso.
Este artigo tenta combinar teoria com prática no campo da negociação algorítmica. A maior parte da conversa sobre a criação de sistemas de negociação está associada ao uso de barras históricas de preços e vários indicadores. Este é um campo bem desgastado que não tocaremos. As barras são uma entidade completamente artificial, por isso, vamos dar algo mais próximo a protoinformações - ticks.
Neste artigo nós vamos realizar um experimento: nós vamos colorir os resultados da otimização. A cor é determinada por três parâmetros: os níveis de vermelho, verde e azul (RGB). Existem outros métodos de codificação de cores, que também usam três parâmetros. Assim, três parâmetros de teste podem ser convertidos em uma cor, que representa visualmente os valores. Leia este artigo para descobrir se essa representação pode ser útil.
No artigo anterior, nós analisamos 14 padrões selecionados de uma grande variedade de formações de velas existentes. É impossível analisar todos os padrões um por um, portanto, outra solução foi encontrada. O novo sistema busca e testa novos padrões de velas com base nos tipos de velas conhecidos.
Neste artigo, nós vamos considerar os padrões populares de velas e tentaremos descobrir se eles ainda são relevantes e eficazes nos mercados atuais. A análise de velas ou candlestick apareceu há mais de 20 anos e desde então se tornou bem popular. Muitos traders consideram as velas japoneses a forma de visualização de preços de ativos mais conveniente e fácil de compreender.
Com base nas ferramentas universais projetadas para trabalhar com as redes de Kohonen, nós construímos o sistema de análise e seleção dos parâmetros ótimos do EA e consideramos a previsão das séries temporais. Na Parte I, nós corrigimos e melhoramos as classes das redes neurais publicamente disponíveis, adicionando os algoritmos necessários. Agora é hora de colocá-los em prática.
O artigo considera a aplicação do método de otimização separada durante várias condições de mercado. A otimização separada significa definir os parâmetros ideais do sistema de negociação, otimizando para uma tendência de alta e tendência de baixa separadamente. Para reduzir o efeito de sinais falsos e melhorar a lucratividade, os sistemas são flexíveis, o que significa que eles têm um conjunto específico de configurações ou dados de entrada, o que se justifica porque o comportamento do mercado está em constante alteração.
O artigo trata do desenvolvimento de um aplicativo para selecionar os melhores passes de otimização usando várias opções possíveis. O aplicativo é capaz de ordenar os resultados de otimização por diversos fatores. Os passes de cada otimização são sempre gravadas em um banco de dados, portanto, você sempre poderá selecionar os novos parâmetros do robô sem realizar a re-otimização. Além disso, você pode ver todos os passes de otimização em um único gráfico, calcular a métrica do VaR paramétrico e construir o gráfico de distribuição normal de passes e resultados da negociação de um determinado conjunto de métricas. Além disso, os gráficos de algumas taxas calculadas são construídos dinamicamente, começando com o início da otimização (ou de uma data selecionada para outra data selecionada).
Não é segredo que o sucesso de qualquer robô de negociação depende da seleção correta de parâmetros (otimização). Mas os parâmetros que são ótimos para um intervalo de tempo nem sempre são os melhores em outros períodos. Muitas vezes, os EAs que são lucrativos nos testes se revelam não lucrativos em tempo real. Nesse momento, surge a necessidade de estar otimizando continuamente, o que se torna uma rotina, porém, sempre há alguém que procura maneiras de automatizar o trabalho. Nesse artigo, proponho uma abordagem não padrão para resolver esse problema.
O artigo fornece uma visão geral das capacidades do terminal para criar e trabalhar com símbolos personalizados, oferece opções para modelar um histórico de negociação usando símbolos personalizados, tendências e vários padrões gráficos.
Este artigo descreve um algoritmo para construir indicadores de bolsa com base em volumes reais usando as funções CopyTicks() e CopyTicksRange(). Também apresenta as particularidades de construção desses indicadores, bem como seus aspetos de funcionamento tanto em tempo real quanto no testador de estratégias.
Antes de lançar um robô em uma conta de negociação, geralmente nós realizamos testes e otimizações no histórico das cotações. No entanto, surge uma pergunta razoável: como os resultados passados podem nos ajudar no futuro? O artigo descreve a aplicação do método de Monte Carlo para construir critérios personalizados para a otimização da estratégia de negociação. Além disso, são considerados os critérios de estabilidade do EA.
Este artigo apresenta um construtor de estratégia visual. É mostrado como qualquer usuário pode criar robôs de negociação e utilitários sem programação. Os Expert Advisors criados são totalmente funcionais e podem ser testados no testador de estratégias, otimizados na nuvem ou executados ao vivo em gráficos em tempo real.
No artigo, continuamos a desenvolver o aplicativo MQL para trabalhar com resultados de otimização que foi iniciado em artigos anteriores. Desta vez, veremos um exemplo em que podemos gerar uma tabela de melhores resultados após a otimização de parâmetros, especificando através da interface gráfica outro critério.
Continuamos a desenvolver o tópico sobre o processamento e análise de resultados de otimização. Desta vez, a tarefa é selecionar os 100 melhores resultados de otimização e exibi-los na tabela da GUI. Vamos fazer com que o usuário, selecionando uma série na tabela de resultados de otimização, receba um gráfico multissímbolo de saldo e rebaixamento, em gráficos separados.
O artigo mostra um aplicativo MQL de exemplo com uma interface gráfica em que gráficos multissímbolos de saldo e rebaixamento do depósito são exibidos com base nos resultados do último teste.