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
Simulação de mercado (Parte 22): Iniciando o SQL (V)

Simulação de mercado (Parte 22): Iniciando o SQL (V)

Antes que você chute o balde, e decida abandonar o estudo sobre como usar o SQL. Deixe-me lembrá-lo, meu caro leitor, que aqui estamos ainda usando apenas o básico do básico. Ainda não exploramos algumas coisas que são possíveis de serem feitas no SQL. Assim que as explorarmos você verá que o SQL é bem mais prático do que parece. Mesmo que muito provavelmente, eu venha a mudar a direção do que estamos criando. Isto por que, o processo de criação é dinâmico. Irei mostrar um pouco mais sobre como fazer as coisas no SQL. Isto por que, ele de fato é algo que você precisa entender e conhecer. Ficar simplesmente achando que é mais capaz, que toda uma comunidade de programadores e desenvolvedores, apenas lhe fará perder tempo e oportunidade. Tenha calma, pois a coisa irá se tornar ainda mais interessante.
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
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
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
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.
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
Simulação de mercado (Parte 20): Iniciando o SQL (III)

Simulação de mercado (Parte 20): Iniciando o SQL (III)

Apesar de podermos fazer as coisas com um banco de dados, tendo cerca de 10 ou pouco mais registros. A coisa realmente se torna melhor assimilada, quando usamos um arquivo de banco de dados que contenha mais de 15 mil registros. Ou seja, se você for criar isto manualmente irá ser uma bela de uma tarefa. No entanto, dificilmente você irá encontrar algum banco de dados, mesmo para fins didáticos disponível para download. Mas não precisamos de fato recorrer a este tipo de coisa. Podemos usar o MetaTrader 5, para criar um banco de dados para nos. Neste artigo veremos como fazer isto.
preview
Simulação de mercado (Parte 19): Iniciando o SQL (II)

Simulação de mercado (Parte 19): Iniciando o SQL (II)

Como eu disse no primeiro artigo sobre SQL, não faz sentido você perder tempo, programado rotinas e mais rotinas a fim de conseguir, gerar ou produzir algo que o próprio SQL já contém. Porém sem saber o básico do básico, você não conseguirá fazer nada em SQL, a fim de aproveitar de alguma forma o que esta ferramenta tem a nos oferecer. Sendo assim, aqui neste artigo iremos ver como fazer para conseguir executar tarefas primordiais a serem feitas em bancos de dados.
preview
Desenvolvendo um EA multimoeda (Parte 20): Organizando o pipeline de etapas de otimização automática de projetos (I)

Desenvolvendo um EA multimoeda (Parte 20): Organizando o pipeline de etapas de otimização automática de projetos (I)

Já criamos diversos componentes que facilitam o processo de otimização automática. Durante sua criação, seguimos a ciclicidade tradicional: desde a criação do código funcional mínimo até a refatoração e a obtenção de um código melhorado. Agora é hora de organizar nossa base de dados, que também é um componente-chave no sistema que estamos criando.
preview
Simulação de mercado (Parte 18): Iniciando o SQL (I)

Simulação de mercado (Parte 18): Iniciando o SQL (I)

Não importa se vamos usar um ou outro programa de SQL. Seja MySQL, SQL Server, SQLite, OpenSQL ou qualquer outro. Todos tem algo em comum entre si. Este algo em comum é a linguagem SQL. Pois bem, mesmo que você não venha a usar de fato uma Workbench, poderá fazer manipulações ou trabalhar com um banco de dados diretamente no MetaEditor ou via MQL5. Isto pensando em fazer as coisas no MetaTrader 5. Mas para de fato conseguir fazer as coisas assim, você precisará de algum conhecimento sobre SQL. Então aqui vamos aprender pelo menos o básico.
preview
Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 8): Desenvolvimento do Expert Advisor (II)

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

Pense em um Expert Advisor independente. Anteriormente, discutimos um Expert Advisor baseado em indicador que também contava com um script independente para desenhar a geometria de risco e recompensa. Hoje, discutiremos a arquitetura de um Expert Advisor em MQL5, que integra todos os recursos em um único programa.
preview
Algoritmo de busca orbital atômica — Atomic Orbital Search (AOS): Modificação

Algoritmo de busca orbital atômica — Atomic Orbital Search (AOS): Modificação

Na segunda parte do artigo, continuaremos o desenvolvimento da versão modificada do algoritmo AOS (Atomic Orbital Search), focando em operadores específicos para aumentar sua eficiência e adaptabilidade. Após analisar as bases e mecânicas do algoritmo, discutiremos ideias para melhorar o desempenho e a capacidade de análise de espaços de soluções complexos, propondo novas abordagens para expandir sua funcionalidade como ferramenta de otimização.
preview
Testador rápido de estratégias de trading em Python usando Numba

Testador rápido de estratégias de trading em Python usando Numba

O artigo apresenta um testador rápido de estratégias para modelos de aprendizado de máquina com o uso do Numba. Em termos de velocidade, ele supera o testador de estratégias feito em Python puro em 50 vezes. O autor recomenda o uso dessa biblioteca para acelerar cálculos matemáticos, especialmente em casos que envolvem laços.
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
Algoritmo de Busca Orbital Atômica — Atomic Orbital Search (AOS)

Algoritmo de Busca Orbital Atômica — Atomic Orbital Search (AOS)

O artigo aborda o algoritmo AOS (Atomic Orbital Search), que utiliza conceitos do modelo orbital atômico para simular a busca por soluções. O algoritmo se baseia em distribuições probabilísticas e na dinâmica das interações dentro de um átomo. O artigo discute detalhadamente os aspectos matemáticos do AOS, incluindo a atualização das posições dos candidatos a soluções e os mecanismos de absorção e emissão de energia. O AOS abre novos caminhos para a aplicação de princípios quânticos em tarefas computacionais, oferecendo uma abordagem inovadora para a otimização.
preview
Métodos de otimização da biblioteca Alglib (Parte II)

Métodos de otimização da biblioteca Alglib (Parte II)

Neste artigo, continuaremos a análise dos métodos de otimização restantes da biblioteca ALGLIB, com foco especial em seus testes em funções complexas e multidimensionais. Isso nos permitirá não apenas avaliar a eficiência de cada algoritmo, mas também identificar seus pontos fortes e fracos em diferentes condições.
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
Desenvolvendo um EA multimoeda (Parte 19): Criando etapas implementadas em Python

Desenvolvendo um EA multimoeda (Parte 19): Criando etapas implementadas em Python

Até agora, analisamos a automação da execução de procedimentos sequenciais de otimização de EAs exclusivamente no testador de estratégias padrão. Mas o que fazer se, entre essas execuções, quisermos processar alguns dados já obtidos por outros meios? Vamos tentar adicionar a possibilidade de criar novas etapas de otimização, executadas por programas escritos em Python.
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
Simulação de mercado (Parte 15): Sockets (IX)

Simulação de mercado (Parte 15): Sockets (IX)

Neste artigo daqui, explicarei uma das soluções possíveis para o que venho tentando mostrar. Ou seja, como permitir que um usuário no Excel, consiga fazer algo no MetaTrader 5. Isto sem que ele de fato, envie ordens, abra ou feche uma posição usando o MetaTrader 5. A ideia, é que o usuário faça uso do Excel a fim de ter um estudo fundamentalista de algum ativo. E fazendo uso, apenas e somente do Excel, ele consiga dizer a um Expert Advisor, que esteja executando no MetaTrader 5, que é para abrir ou fechar uma dada posição.
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
De Novato a Especialista: A Jornada Essencial no Comércio MQL5

De Novato a Especialista: A Jornada Essencial no Comércio MQL5

Desbloqueie seu potencial! Você está cercado de oportunidades. Descubra 3 segredos principais para iniciar sua jornada MQL5 ou levá-la para o próximo nível. Vamos mergulhar na discussão de dicas e truques para iniciantes e profissionais.
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
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
Simulação de mercado (Parte 13): Sockets (VII)

Simulação de mercado (Parte 13): Sockets (VII)

Quando você desenvolve algo, seja no xlwings, ou qualquer outro pacote que nos permita ler e escrever diretamente no Excel. Você na verdade deve notar que todos os programas, funções ou procedimentos. Executam e logo finalizam a sua tarefa. Eles não ficam ali, dentro de um loop. E por mais que você tente fazer as coisas de uma forma diferente.
preview
Algoritmo do Campo Elétrico Artificial — Artificial Electric Field Algorithm (AEFA)

Algoritmo do Campo Elétrico Artificial — Artificial Electric Field Algorithm (AEFA)

Este artigo apresenta o Algoritmo do Campo Elétrico Artificial (AEFA), inspirado na lei de Coulomb da força eletrostática. Por meio de partículas carregadas e suas interações, o algoritmo simula fenômenos elétricos para resolver tarefas complexas de otimização. O AEFA demonstra propriedades únicas em relação a outros algoritmos baseados em leis da natureza.
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
Otimização de nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoria

Otimização de nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoria

Este artigo é dedicado ao algoritmo meta-heurístico Atmosphere Clouds Model Optimization (ACMO), que modela o comportamento das nuvens para resolver problemas de otimização. O algoritmo utiliza os princípios de geração, movimento e dispersão de nuvens, adaptando-se às "condições climáticas" no espaço de soluções. O artigo explora como a simulação meteorológica do algoritmo encontra soluções ótimas em um espaço complexo de possibilidades e descreve detalhadamente as etapas do ACMO, incluindo a preparação do "céu", o nascimento das nuvens, seu deslocamento e a concentração de chuva.
preview
Optimização por nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Prática

Optimização por nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Prática

Neste artigo, continuaremos a explorar a implementação do algoritmo ACMO (Atmospheric Cloud Model Optimization). Em particular, discutiremos dois aspectos-chave: o movimento das nuvens para regiões de baixa pressão e a modelagem do processo de chuva, incluindo a inicialização das gotas e sua distribuição entre as nuvens. Analisaremos também outros métodos importantes para a gestão do estado das nuvens e para garantir sua interação com o ambiente.
preview
Abordagem quantitativa na gestão de riscos: aplicação do modelo VaR para otimização de portfólio multimoeda com Python e MetaTrader 5

Abordagem quantitativa na gestão de riscos: aplicação do modelo VaR para otimização de portfólio multimoeda com Python e MetaTrader 5

Neste artigo, revelamos o potencial do modelo Value at Risk (VaR) para a otimização de portfólios multimoeda. Utilizando o Python e as funcionalidades do MetaTrader 5, demonstramos como implementar a análise VaR para uma distribuição eficiente de capital e gerenciamento de posições. Desde os fundamentos teóricos até a implementação prática, o artigo abrange todos os aspectos da aplicação de um dos sistemas mais robustos de cálculo de risco — o VaR — no trading algorítmico.
preview
Algoritmo de arquearia — Archery Algorithm (AA)

Algoritmo de arquearia — Archery Algorithm (AA)

Neste artigo, examinamos detalhadamente o algoritmo de otimização inspirado na arquearia, com foco no uso do método de roleta como mecanismo de seleção de áreas promissoras para a colocação das "flechas". Esse método permite avaliar a qualidade das soluções e selecionar as posições mais promissoras para um estudo mais aprofundado.
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
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
Simulação de mercado (Parte 07): Sockets (I)

Simulação de mercado (Parte 07): Sockets (I)

Soquetes. Você sabe para que eles servem, ou como fazer uso deles no MetaTrader 5? Se a resposta for não, vamos começar aprendendo um pouco sobre eles. Este artigo aqui envolve o básico do básico. Mas como existem diversas maneiras de se fazer a mesma coisa, e o que nos interessa realmente é sempre o resultado. Queria mostrar que sim, existe uma forma simples, de passar dados do MetaTrader 5 para dentro de outros programas, como por exemplo o Excel. Porém, a principal ideia, não é transferir dados do MetaTrader 5, para o Excel. E sim fazer o contrário. Ou seja, transferir dados do Excel, ou de qualquer outro programa, para dentro do MetaTrader 5.
preview
Métodos de William Gann (Parte III): A astrologia funciona?

Métodos de William Gann (Parte III): A astrologia funciona?

A posição dos planetas e estrelas influencia os mercados financeiros? Vamos recorrer à estatística e aos big data para embarcar em uma jornada fascinante pelo mundo onde as estrelas e os gráficos do mercado se cruzam.
preview
Simulação de mercado (Parte 06): Transferindo informações do MetraTrader 5 para o Excel

Simulação de mercado (Parte 06): Transferindo informações do MetraTrader 5 para o Excel

Muita gente, principalmente os não programadores, tem muita dificuldade em conseguir transferir informações entre o MetaTrader 5 e outros programas. Um destes programas é o Excel. Muitos usam o Excel como uma forma de gerenciar e manter o seu controle de risco. Sendo um programa muito bom e fácil de aprender a utilizar. Mesmo para quem não é programador VBA. Aqui vou mostrar uma forma de fazer a comunicação entre o MetaTrader 5 e o Excel (Método super-simples).
preview
Algoritmo de algas artificiais (AAA)

Algoritmo de algas artificiais (AAA)

Este artigo aborda o algoritmo de algas artificiais (AAA), desenvolvido com base nos processos biológicos característicos das microalgas. Ele incorpora movimento espiral, processo evolutivo e adaptação, e possibilita a resolução de problemas de otimização. O artigo oferece uma análise detalhada dos princípios de funcionamento do AAA e seu potencial na modelagem matemática, destacando a conexão entre a natureza e as soluções algorítmicas.
preview
Métodos de William Gann (Parte II): Criando um Indicador do Quadrado de Gann

Métodos de William Gann (Parte II): Criando um Indicador do Quadrado de Gann

Vamos tentar criar um indicador baseado no Quadrado de 9 de Gann, construído com base na quadratura do tempo e do preço. Escreveremos o código e testaremos o indicador na plataforma em diferentes intervalos de tempo.
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
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.
OSZAR »