Artigos sobre como integrar a MetaTrader 5 usando a linguagem MQL5

icon

As tarefas que um trader enfrenta não só são interessantes, como também muitas vezes exigem procedimentos não padronizados. Aqui você encontra artigos que trazem as soluções mais inusitadas para avaliar, analisar e processar dados de preços e desempenho durante o pregão. Os autores dos artigos sugeridos tocam tópicos como: conexão de bancos de dados e ICQ, uso de OpenCL e redes sociais, uso de Delphi e C#.

Leia e aprenda a trabalhar com pacotes matemáticos e redes neurais e muito mais. Seja um autor e compartilhe seu próprio conhecimento com a MQL5.community.

Novo artigo
recentes | melhores
preview
Algoritmo de busca circular — Circle Search Algorithm (CSA)

Algoritmo de busca circular — Circle Search Algorithm (CSA)

Este artigo apresenta um novo algoritmo metaheurístico de otimização, o CSA (Circle Search Algorithm), baseado nas propriedades geométricas do círculo. O algoritmo utiliza o princípio de movimentação de pontos ao longo das tangentes para encontrar a solução ideal, combinando fases de diversificação global e intensificação local.
preview
Simulação de mercado: Position View (XI)

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

Neste artigo, mostrarei como você, meu caro e estimado leitor, pode sem muito esforço. Conseguir modificar o indicador de posição a fim de que ele venha a ser capaz de fazer bem mais coisas, do que originalmente era capaz de fazer. Veremos como incluir a capacidade de podermos mover tanto os preços, quanto também criar as linhas de preço. E isto diretamente no gráfico. Algo que muitos imaginariam ser extremamente complicado e de difícil solução. Porém você notará que faremos tudo isto, com muita facilidade e com um mínimo de esforço. Tudo que será preciso fazer é parar e pensar um pouco.
preview
Simulação de mercado: Position View (XVIII)

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

Neste artigo, mostrei da forma o mais didática possível. Como você pode conseguir modificar e gerar um código que seja capaz de cumprir alguns objetivos. Isto modificando o mínimo possível um código já existente. Iremos adicionar um indicador de volume, ao mesmo tempo impedir que o usuário ou operador venha a remover objetos criados pelo indicador de posição.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 54): Aprendizado por Reforço com SAC híbrido e Tensores

Técnicas do MQL5 Wizard que você deve conhecer (Parte 54): Aprendizado por Reforço com SAC híbrido e Tensores

Soft Actor Critic é um algoritmo de Aprendizado por Reforço que analisamos em um artigo anterior, onde também introduzimos Python e ONNX nesta série como abordagens eficientes para treinar redes. Retomamos o algoritmo com o objetivo de explorar tensores, grafos computacionais que frequentemente são utilizados em Python.
preview
Desenvolvendo um EA multimoeda (Parte 28): Adicionando um gerenciador de fechamento de posições

Desenvolvendo um EA multimoeda (Parte 28): Adicionando um gerenciador de fechamento de posições

Ao executar muitas estratégias em paralelo, pode surgir a necessidade de, de tempos em tempos, fechar todas as posições abertas e reiniciar as estratégias. O código já escrito permite implementar esse comportamento apenas em conjunto com manipulações manuais. Vamos tentar automatizar essa parte.
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
Teoria dos grafos: Algoritmo de Dijkstra no trading

Teoria dos grafos: Algoritmo de Dijkstra no trading

O algoritmo de Dijkstra é uma solução clássica para a busca do caminho mais curto na teoria dos grafos, permitindo otimizar estratégias de trading por meio da modelagem de redes de mercado. Traders podem utilizá-lo para encontrar as rotas mais eficientes nos dados de um gráfico de candles.
preview
MetaTrader 5 Global Optimizer: Uma Estrutura Profissional para Otimizar EAs por Grupos, Subgrupos e Critérios de Robustez

MetaTrader 5 Global Optimizer: Uma Estrutura Profissional para Otimizar EAs por Grupos, Subgrupos e Critérios de Robustez

Apresentamos uma metodologia para transformar a otimização de EAs no MetaTrader 5 em um fluxo organizado e auditável. A automação em Python cria .set e .ini, orquestra otimizações por grupos e subgrupos, compara cada etapa ao baseline e aplica rewind quando necessário. O leitor poderá escolher os melhores parâmetros considerando lucro, estabilidade, drawdown, trades, concentração de resultado e consistência em vários ativos.
preview
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (IV) - Análise de mercado com modelos hospedados localmente usando IA

Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (IV) - Análise de mercado com modelos hospedados localmente usando IA

Na discussão de hoje, veremos como hospedar localmente modelos de inteligência artificial de código aberto e usá-los para obter informações sobre o mercado. Isso faz parte dos nossos esforços contínuos para expandir o EA "Manchetes de Notícias" com a implementação da seção "Análise de inteligência artificial" (AI Insights), que transforma o EA em uma ferramenta auxiliar com múltiplas integrações. O EA atualizado foi projetado para informar os traders sobre eventos do calendário, as notícias financeiras mais recentes, indicadores técnicos e, agora, também sobre perspectivas de mercado geradas por inteligência artificial, oferecendo, assim, suporte oportuno, diversificado e inteligente à tomada de decisões de trading. Acompanhe esta conversa, na qual veremos estratégias práticas de integração e como o MQL5 pode interagir com recursos externos para criar um terminal de trading poderoso e inteligente.
preview
Dominando JSON: Crie Seu Próprio Leitor JSON do Zero em MQL5

Dominando JSON: Crie Seu Próprio Leitor JSON do Zero em MQL5

Experimente um guia passo a passo sobre como criar um parser JSON personalizado em MQL5, completo com manipulação de objetos e arrays, verificação de erros e serialização. Obtenha insights práticos para conectar sua lógica de trading e dados estruturados com esta solução flexível para lidar com JSON no MetaTrader 5.
preview
Trading algorítmico de arbitragem com teoria dos grafos

Trading algorítmico de arbitragem com teoria dos grafos

Neste artigo, tratamos a arbitragem triangular como um problema de busca de ciclos em um grafo orientado, no qual os vértices representam moedas e as arestas representam pares de moedas com pesos correspondentes às taxas de câmbio. Um ciclo lucrativo ocorre quando o produto dos pesos é > 1. Os algoritmos Floyd-Warshall e DFS que desenvolvemos encontram os caminhos ideais de conversão de moedas com retorno ao ponto inicial e geração de lucro.
preview
Assistente Connexus (Parte 5): Métodos HTTP e códigos de status

Assistente Connexus (Parte 5): Métodos HTTP e códigos de status

Neste artigo, vamos entender os métodos HTTP e os códigos de status, dois elementos muito importantes para a interação entre cliente e servidor na internet. Compreender o que cada método faz de fato permite criar requisições mais precisas, informando ao servidor qual ação deve ser executada e tornando a comunicação mais eficiente.
preview
Simulação de mercado: A união faz a força (II)

Simulação de mercado: A união faz a força (II)

Até o momento, a aplicação que estava sendo desenvolvida nesta sequência de artigos. Visava apenas e tão somente simular a parte gráfica. Mas para um sistema mais completo, onde temos a possibilidade de experimentar um Expert Advisor dentro do serviço de replay/simulador. Precisamos também fazer a simulação do servidor de negociação. Você notará, que a simulação usará o mínimo do mínimo possível. Mas se você, meu caro leitor, desejar, poderá completar as partes que faltam. Mas como isto não fará diferença para o que estou disposto a mostrar. Já temos mais do que o suficiente para desenvolver o que foi planejado.
preview
Cliente no Connexus (Parte 7): Adicionando a camada de cliente

Cliente no Connexus (Parte 7): Adicionando a camada de cliente

Neste artigo, continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, criamos a classe CHttpClient, responsável por enviar a requisição e receber a ordem. Também abordamos o conceito de mocks, separando a biblioteca da função WebRequest, o que garante maior flexibilidade para os usuários.
preview
Implementação do modelo de tabela em MQL5: Aplicação do conto MVC

Implementação do modelo de tabela em MQL5: Aplicação do conto MVC

Neste artigo, analisaremos o desenvolvimento do modelo de tabela na linguagem MQL5, usando o conceito arquitetônico MVC (Model-View-Controller), que separa a lógica dos dados, a apresentação e o controle, o que ajuda a criar um código estruturado, flexível e escalável. Examinaremos a implementação das classes para construir o modelo de tabela, incluindo o uso de listas ligadas para armazenar dados.
preview
Título no Connexus (Parte 3): dominando o uso de cabeçalhos HTTP em requisições

Título no Connexus (Parte 3): dominando o uso de cabeçalhos HTTP em requisições

Continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, exploraremos o conceito de cabeçalhos no protocolo HTTP, explicando o que são, para que servem e como utilizá-los nas requisições. Analisaremos os principais cabeçalhos utilizados ao interagir com APIs e apresentaremos exemplos práticos de como configurá-los na biblioteca.
preview
Integrando MQL5 com pacotes de processamento de dados (Parte 4): Manipulação de Big Data

Integrando MQL5 com pacotes de processamento de dados (Parte 4): Manipulação de Big Data

Explorando técnicas avançadas para integrar o MQL5 com ferramentas poderosas de processamento de dados, esta parte se concentra no tratamento eficiente de big data para aprimorar a análise de negociação e a tomada de decisões.
preview
Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Teoria

Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Teoria

Os segredos da otimização eficiente de estratégias de trading em abordagens metaheurísticas. Community of Scientist Optimization é um novo algoritmo populacional inspirado nos mecanismos de funcionamento da comunidade de cientistas. Diferentemente das metáforas naturais tradicionais, o CoSO modela aspectos únicos da atividade científica humana: a publicação de resultados em periódicos, a competição por financiamentos de pesquisa e a formação de grupos de pesquisa.
preview
Aplicando Seleção de Recursos Localizada em Python e MQL5

Aplicando Seleção de Recursos Localizada em Python e MQL5

Este artigo explora um algoritmo de seleção de recursos introduzido no artigo 'Local Feature Selection for Data Classification' de Narges Armanfard et al. O algoritmo é implementado em Python para construir modelos de classificação binária que podem ser integrados com aplicativos MetaTrader 5 para inferência.
preview
Corpo em Connexus (Parte 4): Adicionando suporte ao corpo de requisições HTTP

Corpo em Connexus (Parte 4): Adicionando suporte ao corpo de requisições HTTP

Neste artigo, abordamos o conceito de corpo nas requisições HTTP, que é necessário para o envio de dados como JSON e texto simples. Discutimos e explicamos como usá-lo corretamente junto com os cabeçalhos apropriados. Também introduzimos a classe ChttpBody, que faz parte da biblioteca Connexus e que irá simplificar o trabalho com o corpo das requisições.
preview
Implementação do algoritmo criptográfico SHA-256 do zero em MQL5

Implementação do algoritmo criptográfico SHA-256 do zero em MQL5

Criar integrações com bolsas de criptomoedas sem arquivos DLL foi, por muito tempo, uma tarefa complexa, mas esta solução fornece uma base completa para conexão direta ao mercado.
preview
Envio de mensagens de MQL5 para o Discord, criação de um bot Discord-MetaTrader 5

Envio de mensagens de MQL5 para o Discord, criação de um bot Discord-MetaTrader 5

Assim como o Telegram, o Discord é capaz de receber informações e mensagens em formato JSON usando suas APIs de comunicação. Neste artigo, veremos como usar a API do Discord para enviar sinais de trading e atualizações do MetaTrader 5 para sua comunidade de trading no Discord.
preview
Simplificando a negociação com base em notícias (Parte 6): Executando trades (III)

Simplificando a negociação com base em notícias (Parte 6): Executando trades (III)

Neste artigo será implementada a ordenação de notícias para eventos econômicos individuais com base em seus identificadores. Além disso, as consultas SQL anteriores serão aprimoradas para fornecer informações adicionais ou reduzir o tempo de execução da consulta. O código criado nos artigos anteriores se tornará funcional.
preview
WebSocket para MetaTrader 5: conexões assíncronas no lado do cliente usando a API do Windows

WebSocket para MetaTrader 5: conexões assíncronas no lado do cliente usando a API do Windows

Neste artigo, descreve-se em detalhe o desenvolvimento de uma biblioteca DLL personalizada, destinada a simplificar conexões assíncronas no lado do cliente pelo protocolo WebSocket para programas MetaTrader.
preview
Algoritmo de otimização do dingo - Dingo Optimization Algorithm (DOA)

Algoritmo de otimização do dingo - Dingo Optimization Algorithm (DOA)

O artigo apresenta um novo método metaheurístico baseado nas estratégias de caça dos dingos australianos: ataque em grupo, perseguição e busca de carniça. Vamos ver como o algoritmo de otimização do dingo (DOA) se sai em termos algorítmicos.
preview
Busca oscilatória determinística — Deterministic Oscillatory Search (DOS)

Busca oscilatória determinística — Deterministic Oscillatory Search (DOS)

O algoritmo Deterministic Oscillatory Search (DOS) é um método inovador de otimização global que combina as vantagens dos algoritmos de gradiente e dos algoritmos de enxame sem o uso de números aleatórios. O mecanismo de oscilações e de inclinações de fitness permite ao DOS explorar espaços de busca complexos por meio de um método determinístico.
preview
Algoritmo de Otimização por Sonhos: Dream Optimization Algorithm (DOA)

Algoritmo de Otimização por Sonhos: Dream Optimization Algorithm (DOA)

Algoritmo populacional de otimização inspirado em um fenômeno controverso e pouco estudado: o mecanismo dos sonhos humanos. Grupos de agentes com diferentes níveis de "memória", modulação cossenoidal do movimento e uma distribuição incomum entre fases na proporção 99/1: descubra como essas características influenciam a eficiência da otimização das suas estratégias de trading.
preview
Solicitação no Connexus (Parte 6): Criando uma Requisição e Resposta HTTP

Solicitação no Connexus (Parte 6): Criando uma Requisição e Resposta HTTP

Neste sexto artigo da série da biblioteca Connexus, focamos em uma requisição HTTP completa, cobrindo cada componente que compõe uma requisição. Criamos uma classe que representa a requisição como um todo, o que nos ajudou a reunir as classes criadas anteriormente.
preview
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): Estratégia de trading pós-notícia

Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): Estratégia de trading pós-notícia

Durante o primeiro minuto após a divulgação de notícias econômicas importantes, o risco de erro de avaliação é extremamente alto. Nesse curto intervalo, o movimento do preço pode ser errático e volátil, frequentemente levando ao acionamento de ordens pendentes dos dois lados do mercado. Pouco depois da publicação, geralmente dentro de um minuto, o mercado tende a se estabilizar, retomando ou corrigindo a tendência predominante em patamares mais normais de volatilidade. Nesta seção, examinaremos uma abordagem alternativa para o trading baseado em notícias, a fim de avaliar sua eficácia como um complemento valioso ao conjunto de ferramentas do trader. Continue lendo para acompanhar mais detalhes desta discussão.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 55): SAC com Prioritized Experience Replay

Técnicas do MQL5 Wizard que você deve conhecer (Parte 55): SAC com Prioritized Experience Replay

Buffers de replay em Aprendizado por Reforço são particularmente importantes com algoritmos off-policy como DQN ou SAC. Isso coloca em destaque o processo de amostragem desse buffer de memória. Enquanto as opções padrão com SAC, por exemplo, utilizam seleção aleatória desse buffer, o Prioritized Experience Replay ajusta esse processo ao realizar amostragem com base em um score TD. Revisamos a importância do Aprendizado por Reforço e, como sempre, examinamos apenas essa hipótese (não a validação cruzada) em um Expert Advisor montado com o wizard.
preview
Do iniciante ao especialista: Criação de um EA de notícias animado em MQL5 (II)

Do iniciante ao especialista: Criação de um EA de notícias animado em MQL5 (II)

Hoje damos mais um passo à frente, integrando uma API externa de notícias como fonte de manchetes para o nosso EA "Manchetes de notícias". Nesta etapa, vamos explorar diferentes fontes de notícias, tanto já existentes quanto novas, e aprender como usar suas APIs de forma eficiente. Também veremos métodos para fazer o parsing dos dados recebidos em um formato otimizado para exibição no nosso EA. Acompanhe a discussão enquanto analisamos as vantagens de usar manchetes de notícias e o calendário econômico diretamente no gráfico. Tudo isso em uma interface compacta e discreta.
preview
Criando sistemas de trading com IA em MQL5 (Parte 3): Evoluindo para uma interface rolável voltada para um único chat

Criando sistemas de trading com IA em MQL5 (Parte 3): Evoluindo para uma interface rolável voltada para um único chat

Neste artigo, aprimoramos o programa integrado ao ChatGPT em MQL5, adotando uma interface rolável voltada para um único chat e melhorando a exibição do histórico das conversas com marcas de tempo e rolagem dinâmica. O sistema utiliza parsing de JSON para gerenciar mensagens em conversas com múltiplos turnos e oferece modos configuráveis para a barra de rolagem, além de efeitos ao passar o mouse, melhorando a interação do usuário com o sistema.
preview
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): estratégia de ordens pendentes para trading baseado em notícias

Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): estratégia de ordens pendentes para trading baseado em notícias

Neste artigo, vamos nos concentrar na integração da lógica de execução de ordens baseada em notícias, permitindo que o EA atue, e não apenas informe. Acompanhe-nos enquanto examinamos como implementar a execução automática de operações em MQL5 e transformar o EA "Manchetes de notícias" em um sistema de trading totalmente adaptativo. Os EAs oferecem vantagens significativas aos desenvolvedores de sistemas algorítmicos graças ao amplo conjunto de funções às quais dão suporte. Até agora, nos concentramos na criação de uma ferramenta para apresentar notícias e eventos do calendário, equipada com faixas analíticas integradas usando IA e indicadores técnicos.
preview
Criando um Painel Administrativo de Negociação em MQL5 (Parte IX): Organização do Código (IV): Classe do Painel de Gerenciamento de Negociações

Criando um Painel Administrativo de Negociação em MQL5 (Parte IX): Organização do Código (IV): Classe do Painel de Gerenciamento de Negociações

Esta discussão aborda o Painel de Gerenciamento de Negociações atualizado em nosso EA New_Admin_Panel. A atualização aprimora o painel utilizando classes integradas para oferecer uma interface intuitiva para gerenciamento de negociações. Ela inclui botões de negociação para abertura de posições e controles para gerenciamento de negociações existentes e ordens pendentes. Um recurso importante é o gerenciamento de risco integrado, que permite definir valores de stop loss e take profit diretamente na interface. Esta atualização melhora a organização do código para programas de grande porte e simplifica o acesso às ferramentas de gerenciamento de ordens, que frequentemente são complexas no terminal.
preview
MQL5 Wizard: Técnicas que Você Deve Conhecer (Parte 57): Aprendizado Supervisionado com Média Móvel e Oscilador Estocástico

MQL5 Wizard: Técnicas que Você Deve Conhecer (Parte 57): Aprendizado Supervisionado com Média Móvel e Oscilador Estocástico

A Média Móvel e o Oscilador Estocástico são indicadores muito comuns que alguns traders podem não usar com frequência devido devido à sua natureza defasada. Em uma “minissérie” de 3 partes que considera as 3 principais formas de aprendizado de máquina, buscamos verificar se esse viés contra esses indicadores é justificado ou se eles podem estar mantendo alguma vantagem. Realizamos nossa análise em Expert Advisors montados pelo wizard.
preview
Do iniciante ao especialista: Criando um EA animado de notícias em MQL5 (III): Análise de indicadores

Do iniciante ao especialista: Criando um EA animado de notícias em MQL5 (III): Análise de indicadores

Neste artigo, daremos continuidade à apresentação do EA "manchetes", apresentando uma faixa especial de "Análise de indicadores" (indicator insights): uma exibição compacta, no gráfico, dos principais sinais técnicos gerados por indicadores populares, como RSI, MACD, Stochastic e CCI. Essa abordagem elimina a necessidade de várias subjanelas de indicadores no terminal MetaTrader 5, mantendo sua área de trabalho limpa e eficiente. Usando a API MQL5 para acessar dados dos indicadores em segundo plano, podemos processar e visualizar informações de mercado em tempo real com lógica personalizada.
preview
Transferência de dados de ticks do MetaTrader para Python via sockets usando serviços MQL5

Transferência de dados de ticks do MetaTrader para Python via sockets usando serviços MQL5

Às vezes, nem tudo pode ser implementado em MQL5. Mesmo que seja possível converter bibliotecas modernas já disponíveis para MQL5, isso levará muito tempo. Neste artigo, tentaremos contornar a dependência do Windows com o uso de serviços MQL5, transmitindo dados de ticks (bid, ask e time) para uma aplicação Python por meio de sockets.
preview
Do iniciante ao especialista: Reporting EA - Configuração do fluxo de trabalho

Do iniciante ao especialista: Reporting EA - Configuração do fluxo de trabalho

As corretoras frequentemente fornecem relatórios de contas de negociação em intervalos regulares, com base em uma programação predefinida. Essas empresas, por meio de suas APIs, têm acesso à atividade da sua conta e ao histórico de negociação, o que permite que elas criem relatórios de desempenho para você. De modo semelhante, o terminal MetaTrader 5 armazena registros detalhados da sua atividade de negociação, que podem ser aproveitados com MQL5 para criar relatórios totalmente personalizáveis e configurar formas de envio personalizadas.
preview
Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Prática

Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Prática

Continuação do tema de otimização por comunidade científica. O CoSO não deve ser tratado como uma solução pronta, mas como uma plataforma de pesquisa promissora. Com o refinamento adequado, o CoSO pode encontrar seu nicho em tarefas em que a adaptabilidade e a robustez a mudanças sejam importantes, e quando o tempo de processamento não for crítico.
preview
Criando um Painel Administrativo de Trading em MQL5 (Parte X): Interface baseada em recursos externos

Criando um Painel Administrativo de Trading em MQL5 (Parte X): Interface baseada em recursos externos

Hoje, estamos aproveitando as capacidades do MQL5 para utilizar recursos externos — como imagens no formato BMP — a fim de criar uma interface inicial com estilo exclusivo para o Painel de Administração de Negociações. A estratégia apresentada aqui é especialmente útil quando precisamos agrupar diversos recursos, incluindo imagens, sons e outros elementos, facilitando sua distribuição. Ao longo deste artigo, veremos como implementar esses recursos para criar uma interface moderna e visualmente atraente para nosso EA New_Admin_Panel.