Artigos sobre como testar estratégias na linguagem MQL5

icon

Saiba como desenvolver, escrever e testar uma estratégia de negociação, como encontrar os parâmetros ideais do sistema e como analisar os resultados obtidos. A plataforma MetaTrader dispõe de inúmeras funcionalidades para que os desenvolvedores de robôs de negociação testem suas ideias de negociação com rapidez e precisão. Aprenda nestes artigos como testar robôs multimoedas e como usar os recursos da MQL5 Cloud Network para otimização.

É importante os desenvolvedores de sistemas de negociação automatizados começarem por aprender os princípios básicos de como testar e gerar algoritmos de ticks dentro do Testador de Estratégias.

Novo artigo
recentes | melhores
preview
Algoritmos de otimização populacionais: algoritmo híbrido de otimização de forrageamento bacteriano com algoritmo genético (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

Algoritmos de otimização populacionais: algoritmo híbrido de otimização de forrageamento bacteriano com algoritmo genético (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

Este artigo apresenta uma nova abordagem para resolver problemas de otimização, combinando as ideias dos algoritmos de otimização de forrageamento bacteriano (BFO) com as técnicas usadas no algoritmo genético (GA), resultando no algoritmo híbrido BFO-GA. Ele utiliza o comportamento de enxameamento das bactérias para a busca global da solução ótima e operadores genéticos para refinar os ótimos locais. Ao contrário do BFO original, as bactérias agora podem mutar e herdar genes.
preview
Otimização por Quimiotaxia Bacteriana (BCO)

Otimização por Quimiotaxia Bacteriana (BCO)

Este artigo apresenta a versão original do algoritmo de otimização por quimiotaxia bacteriana (Bacterial Chemotaxis Optimization, BCO) e sua variante modificada. Examinaremos detalhadamente todas as diferenças, com foco especial na nova versão BCOm, que simplifica o mecanismo de movimento das bactérias, reduz a dependência do histórico de mudanças de posição e emprega operações matemáticas mais simples em comparação com a versão original, que possui um alto custo computacional. Além disso, serão realizados testes e apresentadas conclusões.
preview
Teoria das Categorias em MQL5 (Parte 4): Intervalos, experimentos e composições

Teoria das Categorias em MQL5 (Parte 4): Intervalos, experimentos e composições

A teoria das categorias representa um segmento diversificado e em constante expansão da matemática, que até agora está relativamente pouco explorado na comunidade MQL5. Esta série de artigos tem como objetivo descrever alguns de seus conceitos a fim de criar uma biblioteca aberta e utilizar ainda mais essa seção notável na criação de estratégias de negociação.
preview
Algoritmo de otimização por reações químicas — Chemical Reaction Optimization, CRO (Parte I): A química dos processos na otimização

Algoritmo de otimização por reações químicas — Chemical Reaction Optimization, CRO (Parte I): A química dos processos na otimização

Na primeira parte deste artigo, mergulharemos no mundo das reações químicas e descobriremos uma nova abordagem para a otimização! O método de otimização por reações químicas (CRO) utiliza os princípios das leis da termodinâmica para alcançar resultados eficazes. Revelaremos os segredos da decomposição, síntese e outros processos químicos que servem de base para este método inovador.
preview
Desenvolvendo um sistema de Replay (Parte 61): Dando play no serviço (II)

Desenvolvendo um sistema de Replay (Parte 61): Dando play no serviço (II)

Acompanhe neste artigo, as modificações que foram necessárias serem feitas, para que o serviço de replay / simulação, pudesse trabalhar de forma mais eficiente e segura. Aqui também, irei mostrar algo que pode ser de grande interesse para quem deseja fazer um uso mais eficiente das classes. Além de falar e explicar como contornar um problema que existe no MQL5, que reduz a performance do código quando usamos classes.
preview
Desenvolvendo um sistema de Replay (Parte 64): Dando play no serviço (V)

Desenvolvendo um sistema de Replay (Parte 64): Dando play no serviço (V)

Neste artigo irei mostrar como corrigir duas falhas que se encontram presentes no código. No entanto tais correções foram explicadas para que você, aspirante a programador, consiga entender que nem sempre as coisas irão acontecer como você havia previsto. Mas isto não é motivo para desespero e sim uma oportunidade de aprendizado. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.
preview
Busca com restrições — Tabu Search (TS)

Busca com restrições — Tabu Search (TS)

O artigo analisa o algoritmo de busca tabu, um dos primeiros e mais conhecidos métodos meta-heurísticos. Exploraremos detalhadamente como o algoritmo funciona, desde a escolha da solução inicial até a exploração das soluções vizinhas, com foco no uso da lista tabu. O artigo cobre os aspectos-chave do algoritmo e suas particularidades.
preview
Desenvolvendo um EA multimoeda (Parte 8): Realizando testes de carga e processando um novo candle

Desenvolvendo um EA multimoeda (Parte 8): Realizando testes de carga e processando um novo candle

À medida que avançamos, utilizamos cada vez mais instâncias simultâneas de estratégias de negociação em um único EA. Vamos descobrir até quantas instâncias podemos utilizar antes de nos depararmos com limitações de recursos.
preview
Desenvolvendo um EA multimoeda (Parte 15): Preparando o EA para o trading real

Desenvolvendo um EA multimoeda (Parte 15): Preparando o EA para o trading real

À medida que nos aproximamos de um EA pronto, é necessário prestar atenção em questões secundárias na etapa de teste da estratégia de trading, mas que se tornam importantes ao migrar para o trading real.
preview
Importância da qualidade do gerador de números aleatórios no desempenho dos algoritmos de otimização

Importância da qualidade do gerador de números aleatórios no desempenho dos algoritmos de otimização

Neste artigo, analisaremos o gerador de números aleatórios Mersenne Twister e o compararemos com o gerador padrão do MQL5. Veremos como a qualidade dos geradores de números aleatórios influencia os resultados dos algoritmos de otimização.
preview
Desenvolvendo um sistema de Replay (Parte 75): Um novo Chart Trade (II)

Desenvolvendo um sistema de Replay (Parte 75): Um novo Chart Trade (II)

Neste artigo explicarei grande parte da classe C_ChartFloatingRAD. Esta é responsável por fazer com que o Chart Trade funcione. Porém aqui não irei de fato terminar a explicação. A mesma será finalizada no próximo artigo. Já que o conteúdo neste artigo é bastante denso e precisa ser compreendido a fundo. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.
preview
Desenvolvendo um sistema de Replay (Parte 72): Uma comunicação inusitada (I)

Desenvolvendo um sistema de Replay (Parte 72): Uma comunicação inusitada (I)

O que iremos construir será complexo de entender. Por isso, apresentarei apenas o início da construção neste artigo. Leia com calma, pois entender o conteúdo aqui é essencial para o próximo passo. O objetivo deste conteúdo é apenas didático, sem aplicação prática além do aprendizado e estudo dos conceitos apresentados.
preview
Simulação de mercado (Parte 21): Iniciando o SQL (IV)

Simulação de mercado (Parte 21): Iniciando o SQL (IV)

Muitos de vocês, caros leitores, podem ter um nível de experiência muito superior ao meu, no que rege trabalhar com bancos de dados. Tendo assim uma visão diferente da minha. Porém, como era preciso definir, e desenvolver alguma forma de explicar o motivo pelo qual os bancos de dados, são criados da forma como são criados. Explicar o por que o SQL tem o formato que tem. Mas principalmente, por que as chaves primárias e chaves estrangeiras vieram a surgir. Foi preciso deixar as coisas um pouco abstratas.
preview
Algoritmo de Busca Cooperativa Artificial (Artificial Cooperative Search, ACS)

Algoritmo de Busca Cooperativa Artificial (Artificial Cooperative Search, ACS)

Apresentamos o algoritmo Artificial Cooperative Search (ACS). Este método inovador utiliza uma matriz binária e várias populações dinâmicas, baseadas em relações mutualísticas e cooperação, para encontrar rapidamente e com precisão soluções ótimas. A abordagem única do ACS em relação a "predadores" e "presas" permite alcançar excelentes resultados em problemas de otimização numérica.
preview
Algoritmos de otimização populacionais: algoritmo genético binário (Binary Genetic Algorithm, BGA). Parte I

Algoritmos de otimização populacionais: algoritmo genético binário (Binary Genetic Algorithm, BGA). Parte I

Neste artigo, vamos realizar um estudo sobre vários métodos aplicados em algoritmos genéticos binários e outros algoritmos populacionais. Vamos examinar os componentes principais do algoritmo, como seleção, crossover e mutação, bem como seu impacto no processo de otimização. Além disso, vamos explorar as formas de representação de informações e seu impacto nos resultados de otimização.
preview
Algoritmos de otimização populacional: Resistência a ficar preso em extremos locais (Parte I)

Algoritmos de otimização populacional: Resistência a ficar preso em extremos locais (Parte I)

Este artigo apresenta um experimento único que visa examinar o comportamento dos algoritmos de otimização populacional no contexto de sua capacidade de escapar eficientemente de mínimos locais quando a diversidade populacional é baixa e alcançar máximos globais. Trabalhar nessa direção fornecerá uma visão mais aprofundada sobre quais algoritmos específicos podem continuar sua busca com sucesso usando coordenadas definidas pelo usuário como ponto de partida e quais fatores influenciam seu sucesso.
preview
Simulação de mercado (Parte 03): Uma questão de performance

Simulação de mercado (Parte 03): Uma questão de performance

Muitas vezes somos obrigados a dar um passo para trás para logo depois dar alguns passos a frente. Neste artigo irei mostrar todas as mudanças que foram necessárias serem feitas para que os indicadores de Mouse e Chart Trade não viessem a ter a sua performance comprometidas. Como bônus irei já apresentar outras mudanças que ocorreram em outros arquivos de cabeçalho, que serão muito usados no futuro.
preview
Vantagens do Assistente MQL5 que você precisa saber (Parte 12): Polinômio de Newton

Vantagens do Assistente MQL5 que você precisa saber (Parte 12): Polinômio de Newton

O polinômio de Newton, que cria equações quadráticas a partir de um conjunto de vários pontos, é uma abordagem arcaica, mas interessante para a análise de séries temporais. Neste artigo, tentaremos explorar quais aspectos dessa abordagem podem ser úteis para os traders, bem como eliminar suas limitações.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 18): Pesquisa de Arquitetura Neural com Vetores Próprios

Técnicas do MQL5 Wizard que você deve conhecer (Parte 18): Pesquisa de Arquitetura Neural com Vetores Próprios

Pesquisa de Arquitetura Neural, uma abordagem automatizada para determinar as configurações ideais de uma rede neural, pode ser um diferencial ao enfrentar muitas opções e grandes conjuntos de dados de teste. Examinamos como, quando emparelhado com Vetores Próprios, esse processo pode se tornar ainda mais eficiente.
preview
As modificações mais conhecidas do algoritmo de busca cooperativa artificial (Artificial Cooperative Search, ACSm)

As modificações mais conhecidas do algoritmo de busca cooperativa artificial (Artificial Cooperative Search, ACSm)

Neste artigo, examinamos a evolução do algoritmo ACS: três modificações visando melhorar as características de convergência e eficácia do algoritmo. A transformação de um dos principais algoritmos de otimização. Das modificações de matrizes a abordagens revolucionárias para a formação de populações.
preview
Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 8): Desenvolvimento de Expert Advisor (I)

Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 8): Desenvolvimento de Expert Advisor (I)

Nesta discussão, vamos criar nosso primeiro Expert Advisor em MQL5 com base no indicador que fizemos no artigo anterior. Vamos cobrir todas as funcionalidades necessárias para tornar o processo automático, incluindo o gerenciamento de riscos. Isso beneficiará extensivamente os usuários ao avançarem da execução manual de negociações para sistemas automatizados.
preview
Simulação de mercado (Parte 16): Sockets (X)

Simulação de mercado (Parte 16): Sockets (X)

Estamos a um passo de concluir este desafio. Porém, quero que você, caro leitor, procure entender primeiro estes dois artigos. Tanto este como o anterior. Isto para que consiga de fato entender o próximo onde abordarei exclusivamente a parte referente a programação em MQL5. Apesar de que ali a coisa será igualmente voltada a ser fácil de entender. Se você não compreender estes dois últimos artigos. Com toda a certeza terá grandes problemas em entender o próximo. O motivo disto é simples: As coisas vão se acumulando. Quando mais coisas é preciso fazer, mais coisas é preciso criar e entender para poder atingir o objetivo.
preview
Classe base de algoritmos populacionais como alicerce para otimização eficiente

Classe base de algoritmos populacionais como alicerce para otimização eficiente

Uma tentativa única de pesquisa para combinar uma série de algoritmos populacionais em uma única classe com o objetivo de simplificar a aplicação dos métodos de otimização. Essa abordagem não apenas abre possibilidades para o desenvolvimento de novos algoritmos, incluindo variantes híbridas, mas também estabelece um banco de testes básico universal. Este banco se torna uma ferramenta chave para a escolha do algoritmo ideal, dependendo da tarefa específica em questão.
preview
Desenvolvendo um EA multimoeda (Parte 16): Influência de diferentes históricos de cotações nos resultados de testes

Desenvolvendo um EA multimoeda (Parte 16): Influência de diferentes históricos de cotações nos resultados de testes

O EA em desenvolvimento deve apresentar bons resultados ao operar com diferentes corretoras. Porém, até agora, os testes foram realizados com base em cotações de uma conta de demonstração da MetaQuotes. Vamos verificar se o EA está pronto para operar em contas reais com cotações diferentes das utilizadas durante os testes e otimizações.
preview
Colmeia artificial de abelhas (ABHA): Testes e resultados

Colmeia artificial de abelhas (ABHA): Testes e resultados

Neste artigo, continuaremos o estudo do algoritmo de colmeia de abelhas ABHA, aprofundando-nos na escrita de código e analisando os métodos restantes. Lembremos que cada abelha no modelo é apresentada como um agente individual, cujo comportamento depende de informações internas e externas, bem como de seu estado motivacional. Realizaremos testes do algoritmo em diferentes funções e apresentaremos os resultados em uma tabela de classificação.
preview
Algoritmos de otimização de população: Resistência a ficar preso em extremos locais (Parte II)

Algoritmos de otimização de população: Resistência a ficar preso em extremos locais (Parte II)

Continuamos nosso experimento que visa examinar o comportamento dos algoritmos de otimização de população no contexto de sua capacidade de escapar eficientemente de mínimos locais quando a diversidade da população é baixa e alcançar máximos globais. Os resultados da pesquisa são fornecidos.
preview
Introdução ao MQL5 (Parte 9): Compreendendo e Usando Objetos no MQL5

Introdução ao MQL5 (Parte 9): Compreendendo e Usando Objetos no MQL5

Aprenda a criar e personalizar objetos de gráfico no MQL5 usando dados atuais e históricos. Este guia baseado em projetos ajuda você a visualizar negociações e aplicar conceitos do MQL5 na prática, facilitando a criação de ferramentas adaptadas às suas necessidades de negociação.
preview
Métodos de otimização da biblioteca ALGLIB (Parte I)

Métodos de otimização da biblioteca ALGLIB (Parte I)

Neste artigo, vamos conhecer os métodos de otimização da biblioteca ALGLIB para MQL5. O artigo inclui exemplos simples e visuais de aplicação da ALGLIB para resolver tarefas de otimização, o que tornará o processo de aprendizado dos métodos o mais acessível possível. Analisaremos detalhadamente a integração de algoritmos como BLEIC, L-BFGS e NS, e com base neles resolveremos uma tarefa de teste simples.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 37): Regressão por Processo Gaussiano com Núcleos Lineares e de Matérn

Técnicas do MQL5 Wizard que você deve conhecer (Parte 37): Regressão por Processo Gaussiano com Núcleos Lineares e de Matérn

Os núcleos lineares são a matriz mais simples de seu tipo usada em aprendizado de máquina para regressão linear e máquinas de vetor de suporte. O núcleo de Matérn, por outro lado, é uma versão mais versátil da Função de Base Radial que analisamos em um artigo anterior, e é hábil em mapear funções que não são tão suaves quanto o RBF pressupõe. Construímos uma classe de sinal personalizada que utiliza ambos os núcleos para prever condições de compra e venda.
preview
Otimização com búfalos-africanos — African Buffalo Optimization (ABO)

Otimização com búfalos-africanos — African Buffalo Optimization (ABO)

O artigo é dedicado ao algoritmo de otimização com búfalos-africanos (ABO), uma abordagem meta-heurística desenvolvida em 2015 com base no comportamento único desses animais. Ele descreve detalhadamente as etapas de implementação do algoritmo e sua eficácia na busca por soluções de problemas complexos, tornando-o uma ferramenta valiosa na área de otimização.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 23): CNNs

Técnicas do MQL5 Wizard que você deve conhecer (Parte 23): CNNs

As Redes Neurais Convolucionais são outro algoritmo de aprendizado de máquina que tende a se especializar em decompor conjuntos de dados multidimensionais em partes constituintes principais. Vamos ver como isso é normalmente alcançado e explorar uma possível aplicação para traders em outra classe de sinais do MQL5 Wizard.
preview
Algoritmos de otimização populacionais: objetos de busca multissociais artificiais (artificial Multi-Social search Objects, MSO)

Algoritmos de otimização populacionais: objetos de busca multissociais artificiais (artificial Multi-Social search Objects, MSO)

Continuação do artigo anterior como desenvolvimento da ideia de grupos sociais. No novo artigo, explora-se a evolução dos grupos sociais utilizando algoritmos de movimentação e memória. Os resultados ajudarão a entender a evolução dos sistemas sociais e aplicá-los na otimização e busca de soluções.
preview
Simulação de mercado (Parte 17): Sockets (XI)

Simulação de mercado (Parte 17): Sockets (XI)

Implementar a parte que será executada aqui no MetaTrader 5, está longe de ser complicado. Mas existem diversos cuidados e pontos de atenção a serem observados. Isto para que você caro leitor, consiga de fato fazer com que o sistema funcione. Lembre-se de uma coisa: Você não executará um único programa. Você estará na verdade, executando três programas ao mesmo tempo. E é importante que cada um seja implementado e construído de forma que trabalhem e conversem entre si. Isto sem que eles fiquem completamente sem saber o que cada um está querendo ou desejando fazer.
preview
Simulação de mercado (Parte 05): Iniciando a classe C_Orders (II)

Simulação de mercado (Parte 05): Iniciando a classe C_Orders (II)

Neste artigo, explicarei como o Chart Trade conseguirá lidar, junto com o Expert Advisor, a um pedido do usuário para encerrar todas as posições que se encontram em aberto. Parece ser algo simples. Porém existem alguns agravantes que você precisa saber como lidar com eles.
preview
Algoritmo de otimização de migração animal (AMO)

Algoritmo de otimização de migração animal (AMO)

O artigo é dedicado ao algoritmo AMO, que modela o processo de migração sazonal dos animais em busca de condições ideais para sobrevivência e reprodução. As principais características do AMO incluem o uso da vizinhança topológica e um mecanismo probabilístico de atualização, tornando-o simples de implementar e flexível para diversas tarefas de otimização.
preview
Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, Box-Muller

Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, Box-Muller

Este artigo apresenta uma imersão fascinante no mundo do comportamento social de organismos vivos e sua influência na criação de um novo modelo matemático — ASBO (Adaptive Social Behavior Optimization). Exploramos como os princípios de liderança, vizinhança e cooperação, observados em sociedades de seres vivos, inspiram o desenvolvimento de algoritmos de otimização inovadores.
preview
Algoritmo de Otimização Aritmética (AOA): O caminho do AOA até o SOA (Simple Optimization Algorithm)

Algoritmo de Otimização Aritmética (AOA): O caminho do AOA até o SOA (Simple Optimization Algorithm)

Neste artigo, apresentamos o Algoritmo de Otimização Aritmética (Arithmetic Optimization Algorithm, AOA), que se baseia em operações aritméticas simples: adição, subtração, multiplicação e divisão. Essas operações matemáticas básicas são fundamentais para a busca de soluções ótimas em diversas tarefas.
preview
Algoritmo de Irrigação Artificial — Artificial Showering Algorithm (ASHA)

Algoritmo de Irrigação Artificial — Artificial Showering Algorithm (ASHA)

Este artigo apresenta o Algoritmo de Irrigação Artificial (ASHA), um novo método metaheurístico desenvolvido para resolver problemas gerais de otimização. Baseado na simulação dos processos de fluxo e acúmulo de água, este algoritmo constrói o conceito de um campo ideal, no qual cada unidade de recurso (água) é convocada para buscar a solução ótima. Descubra como o ASHA adapta os princípios de fluxo e acúmulo para distribuir recursos de forma eficiente em um espaço de busca e conheça sua implementação e os resultados dos testes.
preview
Algoritmo de otimização baseado em ecossistema artificial — Artificial Ecosystem-based Optimization (AEO)

Algoritmo de otimização baseado em ecossistema artificial — Artificial Ecosystem-based Optimization (AEO)

O artigo aborda o algoritmo metaheurístico AEO, que modela as interações entre os componentes de um ecossistema, criando uma população inicial de soluções e aplicando estratégias adaptativas de atualização, e descreve detalhadamente as etapas do funcionamento do AEO, incluindo as fases de consumo e decomposição, bem como as diferentes estratégias de comportamento dos agentes. O artigo apresenta as características e vantagens do AEO.
preview
Ciclos e trading

Ciclos e trading

Este artigo é dedicado ao uso de ciclos no trading. Nele, vamos tentar entender como construir uma estratégia de negociação com base em modelos cíclicos.