Artigos sobre programação na linguagem MQL5

icon

Leia os artigos publicados aqui para aprender MQL5, a linguagem das estratégias de negociação. A maioria desses artigos foi escrita por vocês, membros da MQL5.community. Todos eles estão divididos em categorias para encontrar respostas rápidas relacionadas a aspectos específicos da programação: "Integração", "Testador", "Estratégias de negociação" e muito mais.

Acompanhe as novas publicações e participe de suas discussões no Fórum!

Novo artigo
recentes | melhores
preview
Desenvolvimento de um sistema de monitoramento de entradas de swing (EA)

Desenvolvimento de um sistema de monitoramento de entradas de swing (EA)

À medida que o ano se aproxima do fim, traders de longo prazo costumam refletir sobre o histórico do mercado para analisar seu comportamento e tendências, visando projetar potenciais movimentos futuros. Neste artigo, exploraremos o desenvolvimento de um Expert Advisor (EA) de monitoramento de entradas de longo prazo usando MQL5. O objetivo é abordar o desafio das oportunidades de negociação de longo prazo perdidas devido ao trading manual e à ausência de sistemas automatizados de monitoramento. Usaremos um dos pares mais negociados como exemplo para estruturar e desenvolver nossa solução de forma eficaz.
preview
Sistemas neurossimbólicos no algotrading: Unindo regras simbólicas e redes neurais

Sistemas neurossimbólicos no algotrading: Unindo regras simbólicas e redes neurais

Este artigo fala sobre a experiência de desenvolver um sistema de negociação híbrido que combina análise técnica clássica com redes neurais. O autor destrincha a arquitetura do sistema, desde a análise básica de padrões e estrutura da rede neural até os mecanismos de tomada de decisão, compartilhando código real e observações práticas.
preview
Kit de Ferramentos de Negociação MQL5(Parte 8): Como Implementar e Utilizar a Biblioteca History Manager EX5 em sua Base de Código

Kit de Ferramentos de Negociação MQL5(Parte 8): Como Implementar e Utilizar a Biblioteca History Manager EX5 em sua Base de Código

Descubra como importar e utilizar facilmente a biblioteca History Manager EX5 em seu código-fonte MQL5 para processar históricos de negociação em sua conta MetaTrader 5 neste artigo final da série. Com chamadas de função simples de uma linha em MQL5, você pode gerenciar e analisar seus dados de negociação de forma eficiente. Além disso, você aprenderá como criar diferentes scripts de análise de histórico de negociações e desenvolver um Expert Advisor baseado em preço como exemplos práticos de uso. O EA de exemplo utiliza dados de preço e a biblioteca History Manager EX5 para tomar decisões de negociação informadas, ajustar volumes de negociação e implementar estratégias de recuperação com base em negociações previamente encerradas.
preview
Simulação de mercado: Position View (V)

Simulação de mercado: Position View (V)

Apesar do que foi visto no artigo anterior, se algo aparentemente simples. Ali, temos diversos problemas e muitas coisas a serem resolvidas e feita. Você caro leitor, pode imaginar que tudo é fácil e simples. E de maneira inocente, vai simplesmente aceitando o que lhe é apresentado. Isto é uma falha, na qual você, caro leitor, deverá tentar se livrar. Mas pior do que aceitar, é simplesmente, não entender e tentar usar algo sem de fato compreender o que está sendo usado. Não é raro, entre iniciantes, a fase de cópia e cola. Porém, caso você não queira ficar sempre nesta, é bom aprender como usar certas ferramentas. E uma das ferramentas mais utilizadas por programadores é a documentação. E a segunda ferramenta é os testes e arquivos de log. Aqui veremos como fazer isto.
preview
MQL5 Trading Toolkit (Parte 5): Expansão da biblioteca EX5 para gerenciamento do histórico com funções do último ordem pendente executada

MQL5 Trading Toolkit (Parte 5): Expansão da biblioteca EX5 para gerenciamento do histórico com funções do último ordem pendente executada

Aprenda a criar um módulo EX5 com funções exportáveis que permite consultar e armazenar facilmente os dados da última ordem pendente executada. Neste guia passo a passo, aprimoraremos a biblioteca EX5 de gerenciamento de histórico (History Management) desenvolvendo funções especializadas e independentes para extrair as principais propriedades da última ordem pendente executada. Entre essas propriedades estão o tipo de ordem, o horário de colocação, o horário de execução, o tipo de execução e outros dados importantes necessários para o gerenciamento e análise eficaz do histórico de operações com ordens pendentes.
preview
Desenvolvendo um Expert Advisor de Breakout Baseado em Eventos de Notícias do Calendário em MQL5

Desenvolvendo um Expert Advisor de Breakout Baseado em Eventos de Notícias do Calendário em MQL5

A volatilidade tende a atingir picos em torno de eventos de notícias de alto impacto, criando oportunidades significativas de breakout. Neste artigo, iremos delinear o processo de implementação de uma estratégia de breakout baseada em calendário. Abordaremos tudo, desde a criação de uma classe para interpretar e armazenar dados do calendário, o desenvolvimento de backtests realistas utilizando esses dados e, por fim, a implementação do código de execução para negociação ao vivo.
preview
Desenvolvendo um EA multimoeda (Parte 25): Conectando uma nova estratégia (II)

Desenvolvendo um EA multimoeda (Parte 25): Conectando uma nova estratégia (II)

Neste artigo, continuaremos a conectar uma nova estratégia ao sistema de otimização automática já criado. Vamos ver quais mudanças devem ser feitas no EA responsável pela criação do projeto de otimização e nos EAs das segunda e terceira etapas.
preview
Otimização baseada em biogeografia — Biogeography-Based Optimization (BBO)

Otimização baseada em biogeografia — Biogeography-Based Optimization (BBO)

A otimização baseada em biogeografia (BBO) é um método elegante de otimização global inspirado nos processos naturais de migração de espécies entre ilhas de arquipélagos. A ideia por trás do algoritmo é simples, porém poderosa: soluções de alta qualidade compartilham ativamente suas características, enquanto soluções de baixa qualidade adotam novas características, criando um fluxo natural de informação das melhores soluções para as piores. Um operador adaptativo de mutação exclusivo garante um excelente equilíbrio entre diversificação e intensificação, e o BBO demonstra alta eficiência em diversas tarefas.
preview
Simulação de mercado: Position View (IX)

Simulação de mercado: Position View (IX)

Neste artigo, que será um artigo divisor de águas. Vamos começar a explorar de maneira um pouco mais profunda a interação entre as aplicações que estão sendo desenvolvidas para dar suporte total ao sistema de replay/simulação. Aqui vamos analisar um problema. Este tem de um lado, algo bastante chato, mas de outro algo muito interessante de explicar como resolver. E o problema é: Como fazer para adicionar as linhas de take profit e stop loss, depois que elas foram removidas? Isto sem usar o terminal, mas sim fazendo a operação direto no gráfico. Bem isto de fato é algo, a primeira vista simples. Porém existem alguns percalços a serem superados.
preview
Reimaginando Estratégias Clássicas (Parte VIII): Mercados de Câmbio e Metais Preciosos no USDCAD

Reimaginando Estratégias Clássicas (Parte VIII): Mercados de Câmbio e Metais Preciosos no USDCAD

Nesta série de artigos, revisitamos estratégias de negociação bem conhecidas para ver se podemos melhorá-las utilizando IA. Na discussão de hoje, junte-se a nós enquanto testamos se existe uma relação confiável entre metais preciosos e moedas.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 42): Oscilador ADX

Recursos do Assistente MQL5 que você precisa conhecer (Parte 42): Oscilador ADX

ADX é outro indicador técnico relativamente popular, usado por alguns traders para avaliar a força da tendência predominante. Atuando como uma combinação de dois outros indicadores, ele é um oscilador cujos padrões vamos explorar neste artigo com a ajuda do Assistente MQL5 e suas classes auxiliares.
preview
Otimização por herança sanguínea — Blood Inheritance Optimization (BIO)

Otimização por herança sanguínea — Blood Inheritance Optimization (BIO)

Apresento a vocês meu novo algoritmo populacional de otimização BIO (Blood Inheritance Optimization), inspirado no sistema de herança dos tipos sanguíneos humanos. Neste algoritmo, cada solução possui seu próprio "tipo sanguíneo", que define a forma de sua evolução. Assim como na natureza, o tipo sanguíneo de uma criança é herdado segundo regras específicas, no BIO as novas soluções recebem suas características através de um sistema de herança e mutações.
preview
Otimização de recifes de coral — Coral Reefs Optimization (CRO)

Otimização de recifes de coral — Coral Reefs Optimization (CRO)

Neste artigo é apresentada uma análise abrangente do algoritmo de otimização de recifes de coral (CRO), um método meta-heurístico inspirado nos processos biológicos de formação e desenvolvimento de recifes de coral. Ele modela aspectos-chave da evolução dos corais: reprodução externa e interna, fixação de larvas, reprodução assexuada e competição por espaço limitado no recife. É dada atenção especial à versão aprimorada do algoritmo.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 45): Aprendizado por Reforço com Monte-Carlo

Técnicas do MQL5 Wizard que você deve conhecer (Parte 45): Aprendizado por Reforço com Monte-Carlo

Monte-Carlo é o quarto algoritmo diferente em aprendizado por reforço que estamos considerando com o objetivo de explorar sua implementação em Expert Advisors montados pelo wizard. Embora ancorado em amostragem aleatória, ele apresenta vastas formas de simulação que podemos explorar.
preview
Redes neurais em trading: Sistema multiagente com validação conceitual (FinCon)

Redes neurais em trading: Sistema multiagente com validação conceitual (FinCon)

Apresentamos o framework FinCon, que é um sistema multiagente baseado em grandes modelos de linguagem (LLM). O framework utiliza reforço verbal conceitual para melhorar a tomada de decisões e o gerenciamento de riscos, permitindo realizar diversas tarefas financeiras de forma eficiente.
preview
Redes neurais em trading: Hierarquia de habilidades para comportamento adaptativo de agentes (HiSSD)

Redes neurais em trading: Hierarquia de habilidades para comportamento adaptativo de agentes (HiSSD)

Apresentamos o framework HiSSD, que combina aprendizado hierárquico e abordagens multiagente para a criação de sistemas adaptativos. Neste trabalho, exploramos em detalhe como essa abordagem inovadora ajuda a identificar padrões ocultos nos mercados financeiros e a otimizar estratégias de trading em condições de descentralização.
preview
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 10): RBM não convencional

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 10): RBM não convencional

As máquinas de Boltzmann restritas (Restrictive Boltzmann Machines, RBM) são, em um nível básico, uma rede neural de duas camadas capaz de realizar classificação não supervisionada através da redução de dimensionalidade. Vamos usar seus princípios básicos e ver o que acontece se a desenharmos e a treinarmos de forma não convencional. Será que conseguiremos obter um filtro de sinais útil?
preview
Explorando a Criptografia no MQL5: Uma Abordagem Passo a Passo

Explorando a Criptografia no MQL5: Uma Abordagem Passo a Passo

Este artigo explora a integração da criptografia dentro do MQL5, aprimorando a segurança e a funcionalidade dos algoritmos de negociação. Cobriremos os principais métodos criptográficos e sua implementação prática no trading automatizado.
preview
Redes neurais em trading: Agente multimodal com ferramentas complementares (FinAgent)

Redes neurais em trading: Agente multimodal com ferramentas complementares (FinAgent)

Apresentamos o framework do agente multimodal para negociação financeira FinAgent, projetado para analisar dados de diferentes tipos que refletem a dinâmica do mercado e padrões históricos de negociação.
preview
Simulação de mercado: Position View (XX)

Simulação de mercado: Position View (XX)

Neste artigo iremos ver como modificar o código do indicador de posição a fim de conseguir, criar um tipo de sombra para que possamos visualizar onde o preço se encontra atualmente no servidor de negociação. Tal principio tem como finalidade facilitar o planejamento de operações. Onde temos uma movimentação das linhas de stop loss ou take profit. Porém adicionar tal funcionalidade, ou seja sombras de preço. Pode parecer algo extremamente complexo. Mas neste artigo mostrarei que você conseguirá fazer isto de maneira muito simples e prática.
preview
Expert Advisor Auto-Otimizável com MQL5 e Python (Parte VI): Aproveitando o Deep Double Descent

Expert Advisor Auto-Otimizável com MQL5 e Python (Parte VI): Aproveitando o Deep Double Descent

O aprendizado de máquina tradicional ensina os praticantes a serem vigilantes para não superajustar (overfitting) seus modelos. No entanto, essa ideologia está sendo desafiada por novas descobertas publicadas por pesquisadores diligentes de Harvard, que identificaram que o que parece ser overfitting pode, em certas circunstâncias, ser resultado de encerrar prematuramente os procedimentos de treinamento. Demonstramos como podemos usar as ideias publicadas no artigo de pesquisa para melhorar nosso uso de IA na previsão de retornos de mercado.
preview
Redes neurais em trading: Segmentação guiada (Conclusão)

Redes neurais em trading: Segmentação guiada (Conclusão)

Damos continuidade ao trabalho iniciado no artigo anterior sobre a construção do framework RefMask3D utilizando MQL5. Esse framework foi desenvolvido para um estudo aprofundado da interação multimodal e da análise de características em nuvens de pontos, com posterior identificação do objeto-alvo com base em uma descrição fornecida em linguagem natural.
preview
Do básico ao intermediário: Acesso aleatório (I)

Do básico ao intermediário: Acesso aleatório (I)

Neste artigo teremos a nossa primeira experiência no que se refere ao acesso aleatório ao conteúdo de um arquivo. Isto visando tanto a escrita quanto também a leitura de informações e dados presentes em um arquivo. No entanto, como este tema é um tanto quanto longo para ser explicado em um único artigo. Aqui iremos apenas fazer uma introdução sobre esta questão do acesso aleatório.
preview
Do básico ao intermediário: Filas, Listas e Árvores (I)

Do básico ao intermediário: Filas, Listas e Árvores (I)

Neste artigo começaremos a explorar uma pequena série de conceitos, que é de suma importância para quem realmente deseja aprender a programar da maneira correta. Com se trata de algo que a principio pode ser muito complicado. Apesar de usar coisas simples. Iremos ver isto aos poucos. Então aqui iremos começar a ver o que seria filas de dados.
preview
Desenvolvimento de um Kit de Ferramentas para Análise da Ação do Preço (Parte 6): Mean Reversion Signal Reaper

Desenvolvimento de um Kit de Ferramentas para Análise da Ação do Preço (Parte 6): Mean Reversion Signal Reaper

Embora alguns conceitos possam parecer simples à primeira vista, trazê-los à prática pode ser bastante desafiador. No artigo abaixo, levaremos você a uma jornada pela nossa abordagem inovadora para automatizar um Expert Advisor (EA) que analisa o mercado de forma eficiente utilizando uma estratégia de reversão à média. Junte-se a nós enquanto desvendamos as complexidades desse empolgante processo de automação.
preview
Redes neurais em trading: Modelos com uso de wavelet transform e atenção multitarefa (Conclusão)

Redes neurais em trading: Modelos com uso de wavelet transform e atenção multitarefa (Conclusão)

No artigo anterior, exploramos os fundamentos teóricos e começamos a implementar as abordagens do framework Multitask-Stockformer, que combina wavelet transform e o modelo multitarefa Self-Attention. Damos continuidade à implementação dos algoritmos desse framework e avaliamos sua eficácia com dados históricos reais.
preview
Redes neurais em trading: Agente multimodal complementado com ferramentas (Conclusão)

Redes neurais em trading: Agente multimodal complementado com ferramentas (Conclusão)

Damos continuidade à implementação dos algoritmos do agente multimodal para negociação financeira, o FinAgent, desenvolvido para análise de dados multimodais da dinâmica de mercado e de padrões históricos de trading.
preview
Redes neurais em trading: Segmentação periódica adaptativa (LightGTS)

Redes neurais em trading: Segmentação periódica adaptativa (LightGTS)

Propomos conhecer uma técnica inovadora de patching adaptativo, um método de segmentar séries temporais de forma flexível considerando sua periodicidade interna. Além disso, apresentamos uma técnica de codificação eficiente que permite preservar características semânticas importantes ao trabalhar com dados de diferentes escalas. Esses métodos abrem novas possibilidades para o processamento preciso de dados complexos multiescalares, característicos dos mercados financeiros, e aumentam significativamente a estabilidade e a fundamentação das previsões.
preview
MQL5 Trading Toolkit (Parte 5): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com Funções de Posição

MQL5 Trading Toolkit (Parte 5): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com Funções de Posição

Descubra como criar funções exportáveis em EX5 para consultar e salvar de forma eficiente dados históricos de posições. Neste guia passo a passo, ampliaremos a biblioteca EX5 de gerenciamento de histórico desenvolvendo módulos que recuperam propriedades-chave da posição fechada mais recentemente. Isso inclui lucro líquido, duração da negociação, stop loss em pips, take profit, valores de lucro e vários outros detalhes importantes.
preview
Do básico ao intermediário: Classes (I)

Do básico ao intermediário: Classes (I)

Neste artigo, começaremos a ver o que seria de fato uma classe, e por que elas foram criadas. Apesar deste ser um assunto bastante interessante, aqui iremos focar, nas questões relacionadas ao que rege e tange a programação em MQL5. Sendo este artigo, apenas uma introdução ao assunto.
preview
Indicador do modelo CAPM no mercado Forex

Indicador do modelo CAPM no mercado Forex

Adaptação do modelo clássico CAPM para o mercado cambial Forex em MQL5. O indicador calcula a rentabilidade esperada e o prêmio de risco com base na volatilidade histórica. Os indicadores aumentam nos picos e nas depressões, refletindo os princípios fundamentais de precificação. Aplicação prática para estratégias contra a tendência e de seguimento de tendência, levando em conta a dinâmica da relação entre risco e rentabilidade em tempo real. Inclui o aparato matemático e a implementação técnica.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 52): Oscilador Accelerator

Recursos do Assistente MQL5 que você precisa conhecer (Parte 52): Oscilador Accelerator

O Oscilador de Aceleração (Accelerator Oscillator) é mais um dos indicadores de Bill Williams, que monitora a aceleração do impulso de preço, e não apenas sua velocidade. Embora seja em muitos aspectos semelhante ao oscilador Awesome, que analisamos em um artigo recente, ele busca evitar os efeitos de defasagem, concentrando-se na aceleração e não apenas na taxa de variação. Como de costume, vamos examinar os padrões do indicador e também seu significado no trading com o uso de um EA criado no Assistente.
preview
Simulação de mercado: Position View (IV)

Simulação de mercado: Position View (IV)

Aqui começaremos a unir diversas coisas, ou aplicações que antes estavam complemente isoladas entre si. Apesar de que o Chart Trade, o Indicador de Mouse e o Expert Advisor, já terem algum tipo de relacionamento. Não havia ainda uma forma de podermos observar, posições que estivessem abertas no servidor de negociação, isto diretamente no gráfico. Fazendo muitas das vezes uso de um sistema cross order. Mas a partir deste momento isto começa a se tornar possível. Abrindo diversas portas para novas ideias e implementações futuras. Se bem que estamos apenas começando a fazer as coisas acontecerem. Mas já teremos uma direção na qual seguir.
preview
Redes neurais de maneira fácil (Parte 74): previsão adaptativa de trajetórias

Redes neurais de maneira fácil (Parte 74): previsão adaptativa de trajetórias

Proponho a você conhecer um método bastante eficaz de previsão de trajetórias multiagentes, que é capaz de se adaptar a diferentes condições ambientais.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 28): GANs revisitados com uma introdução às taxas de aprendizado

Técnicas do MQL5 Wizard que você deve conhecer (Parte 28): GANs revisitados com uma introdução às taxas de aprendizado

A Taxa de Aprendizado é um tamanho de passo em direção a um objetivo de treinamento nos processos de treinamento de muitos algoritmos de aprendizado de máquina. Examinamos o impacto que seus diversos cronogramas e formatos podem ter no desempenho de uma Rede Generativa Adversária, um tipo de rede neural que já havíamos analisado em um artigo anterior.
preview
Redes neurais em trading: Modelos bidimensionais do espaço de conexões (Conclusão)

Redes neurais em trading: Modelos bidimensionais do espaço de conexões (Conclusão)

Damos continuidade ao estudo do framework inovador Chimera, um modelo bidimensional do espaço de estados que utiliza tecnologias de redes neurais para análise de séries temporais multidimensionais. Esse método garante alta precisão de previsão com baixo custo computacional.
preview
Algoritmo do Restaurateur de Sucesso — Successful Restaurateur Algorithm (SRA)

Algoritmo do Restaurateur de Sucesso — Successful Restaurateur Algorithm (SRA)

O Algoritmo do Restaurateur de Sucesso (SRA) é um método inovador de otimização inspirado nos princípios de gestão de um restaurante. Ao contrário das abordagens tradicionais, o SRA não descarta as soluções mais fracas, mas as melhora, combinando-as com elementos das soluções de maior sucesso. O algoritmo apresenta resultados competitivos e traz uma nova perspectiva sobre como equilibrar a diversificação e a intensificação em problemas de otimização.
preview
Desenvolvendo um EA multimoeda (Parte 26): Informador para instrumentos de negociação

Desenvolvendo um EA multimoeda (Parte 26): Informador para instrumentos de negociação

Antes de avançarmos ainda mais no desenvolvimento de EAs multimoeda, vamos tentar mudar o foco para a criação de um novo projeto que utilize a biblioteca já desenvolvida. Com esse exemplo, identificaremos como é melhor organizar o armazenamento do código-fonte e como o novo repositório de código da MetaQuotes pode nos ajudar.
preview
Gerenciamento de riscos (Parte 4): Conclusão dos métodos-chave da classe

Gerenciamento de riscos (Parte 4): Conclusão dos métodos-chave da classe

Este artigo é a quarta parte da nossa série sobre gerenciamento de riscos em MQL5, onde continuamos a explorar métodos avançados de proteção e otimização de estratégias de negociação. Após termos estabelecido as bases importantes nas partes anteriores, agora focaremos em finalizar todos os métodos que ficaram pendentes na terceira parte, incluindo as funções responsáveis por verificar o atingimento de determinados níveis de lucro ou prejuízo. Além disso, o artigo introduz novos eventos-chave que garantem um controle mais preciso e flexível.
preview
Desenvolvendo um EA multimoeda (Parte 27): Componente para exibição de texto multilinha

Desenvolvendo um EA multimoeda (Parte 27): Componente para exibição de texto multilinha

Quando surge a necessidade de exibir informações textuais no gráfico, podemos utilizar a função Comment(). Porém, suas possibilidades são bastante limitadas. Por isso, no âmbito deste artigo, criaremos nosso próprio componente, uma janela de diálogo em tela cheia, capaz de exibir texto multilinha com configurações flexíveis de fonte e suporte a rolagem.