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
Desenvolvendo um cliente MQTT para MetaTrader 5: uma abordagem TDD — Final

Desenvolvendo um cliente MQTT para MetaTrader 5: uma abordagem TDD — Final

Este artigo é a última parte de uma série que descreve nossas etapas de desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT 5.0. Embora a biblioteca ainda não esteja pronta para produção, nesta parte, usaremos nosso cliente para atualizar um símbolo personalizado com ticks (ou taxas) obtidos de outro corretor. Por favor, veja o final deste artigo para mais informações sobre o status atual da biblioteca, o que falta para que ela esteja totalmente em conformidade com o protocolo MQTT 5.0, um possível roadmap, e como acompanhar e contribuir para seu desenvolvimento.
preview
Indicador de força e direção da tendência em barras 3D

Indicador de força e direção da tendência em barras 3D

Vamos considerar uma nova abordagem para analisar tendências de mercado, baseada em visualização tridimensional e análise tensora da microestrutura do mercado.
preview
Simulação de mercado (Parte 10): Sockets (IV)

Simulação de mercado (Parte 10): Sockets (IV)

Aqui neste artigo mostrei o que você precisa fazer para começar a usar o Excel para controlar o MetaTrader 5. Mas faremos isto de uma forma bastante interessante. Para fazer isto iremos usar um Add-in no Excel. Isto para não precisar de fato fazer uso do VBA presente no Excel. Se você não sabe de que Add-in estou falando. Veja este artigo e aprenda como fazer para programar em Python diretamente dentro do Excel.
preview
Integração de APIs de Corretoras com Expert Advisors usando MQL5 e Python

Integração de APIs de Corretoras com Expert Advisors usando MQL5 e Python

Neste artigo, discutiremos a implementação do MQL5 em parceria com o Python para realizar operações relacionadas à corretora. Imagine ter um Expert Advisor (EA) em execução contínua hospedado em um VPS, executando negociações em seu nome. Em determinado momento, a capacidade do EA de gerenciar fundos torna-se fundamental. Isso inclui operações como adicionar fundos à sua conta de negociação e iniciar retiradas. Nesta discussão, iremos esclarecer as vantagens e a implementação prática desses recursos, garantindo a integração perfeita do gerenciamento de fundos à sua estratégia de negociação. Fique atento!
preview
Trading por algoritmo: IA e seu caminho para os topos dourados

Trading por algoritmo: IA e seu caminho para os topos dourados

Neste artigo, é demonstrado um método de criação de estratégias de trading para o ouro usando aprendizado de máquina. Ao analisar o método proposto para a previsão de séries temporais sob diferentes ângulos, é possível identificar suas vantagens e desvantagens em comparação com outras formas de criação de sistemas de trading baseadas somente na análise e previsão de séries temporais financeiras.
preview
Dados de mercado sem intermediários: conectando MetaTrader 5 à MOEX via ISS API

Dados de mercado sem intermediários: conectando MetaTrader 5 à MOEX via ISS API

Este artigo propõe uma solução para integrar o MetaTrader 5 com o serviço web ISS da MOEX. São fornecidas utilidades para geração automática de códigos-fonte com base no diretório da API e no índice dos principais elementos do serviço.
preview
Algoritmos de otimização populacional: Mudamos a forma e deslocamos as distribuições de probabilidade e testamos com o "Cabeçudinho Inteligente" (Smart Cephalopod, SC)

Algoritmos de otimização populacional: Mudamos a forma e deslocamos as distribuições de probabilidade e testamos com o "Cabeçudinho Inteligente" (Smart Cephalopod, SC)

Com este artigo investigaremos como a mudança de forma das distribuições de probabilidade afetam o desempenho dos algoritmos de otimização. Realizaremos experimentos baseados no algoritmo de teste "cabeçudinho inteligente" (Smart Cephalopod, SC) para avaliar o desempenho de diferentes distribuições de probabilidade no contexto de tarefas de otimização.
preview
Criando um Painel Administrativo de Negociação em MQL5 (Parte III): Aprimorando a Interface com Estilo Visual (I)

Criando um Painel Administrativo de Negociação em MQL5 (Parte III): Aprimorando a Interface com Estilo Visual (I)

Neste artigo, focaremos no estilo visual da interface gráfica do usuário (GUI) do nosso Painel Administrativo de Negociação usando MQL5. Exploraremos várias técnicas e recursos disponíveis no MQL5 que permitem a personalização e otimização da interface, garantindo que ela atenda às necessidades dos traders enquanto mantém uma estética atraente.
preview
Criando um Expert Advisor Integrado MQL5-Telegram (Parte 4): Modularizando Funções de Código para Maior Reutilização

Criando um Expert Advisor Integrado MQL5-Telegram (Parte 4): Modularizando Funções de Código para Maior Reutilização

Neste artigo, reformulamos o código existente usado para enviar mensagens e capturas de tela do MQL5 para o Telegram, organizando-o em funções modulares reutilizáveis. Isso tornará o processo mais eficiente, permitindo uma execução mais rápida e uma gestão de código mais fácil em múltiplas instâncias.
preview
Criando um Painel de Administração de Trading em MQL5 (Parte VI): Interface de Funções Múltiplas (I)

Criando um Painel de Administração de Trading em MQL5 (Parte VI): Interface de Funções Múltiplas (I)

O papel do Administrador de Trading vai além das comunicações via Telegram; ele também pode realizar várias atividades de controle, incluindo gerenciamento de ordens, acompanhamento de posições e personalização da interface. Neste artigo, compartilharemos insights práticos sobre como expandir nosso programa para suportar múltiplas funcionalidades em MQL5. Esta atualização tem como objetivo superar a limitação atual do Painel de Administração de se concentrar principalmente na comunicação, permitindo que ele lide com uma gama mais ampla de tarefas.
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
Criando um Expert Advisor Integrado com MQL5-Telegram (Parte 3): Enviando Capturas de Tela de Gráficos com Legendas de MQL5 para o Telegram

Criando um Expert Advisor Integrado com MQL5-Telegram (Parte 3): Enviando Capturas de Tela de Gráficos com Legendas de MQL5 para o Telegram

Neste artigo, criamos um Expert Advisor em MQL5 que codifica capturas de tela de gráficos como dados de imagem e os envia para um chat do Telegram via requisições HTTP. Ao integrar a codificação e transmissão de fotos, aprimoramos o sistema MQL5-Telegram existente com insights visuais de trading diretamente no Telegram.
preview
Criando um Painel Administrativo de Negociação em MQL5 (Parte II): Aprimorando a Responsividade e Mensagens Rápidas

Criando um Painel Administrativo de Negociação em MQL5 (Parte II): Aprimorando a Responsividade e Mensagens Rápidas

Neste artigo, vamos aprimorar a responsividade do Painel Administrativo que criamos anteriormente. Além disso, vamos explorar a importância das mensagens rápidas no contexto de sinais de negociação.
preview
Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 6): Integração Completa

Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 6): Integração Completa

Um dos principais desafios é gerenciar várias janelas de gráfico do mesmo par, executando o mesmo programa com recursos diferentes. Vamos discutir como consolidar diversas integrações em um único programa principal. Além disso, compartilharemos informações sobre como configurar o programa para registrar mensagens em um diário e comentar sobre a transmissão bem-sucedida de sinais na interface do gráfico. Encontre mais informações neste artigo, à medida que avançamos na série.
preview
Algoritmo da Cauda de Cometa (Comet Tail Algorithm, CTA)

Algoritmo da Cauda de Cometa (Comet Tail Algorithm, CTA)

Neste artigo, vamos explorar o novo algoritmo de otimização autoral CTA (Comet Tail Algorithm), que se inspira em objetos cósmicos únicos, nomeadamente em cometas e suas impressionantes caudas, formadas quando se aproximam do Sol. Esse algoritmo é baseado no conceito de movimento dos cometas e suas caudas, e foi projetado para encontrar soluções ótimas em problemas de otimização.
preview
Introdução ao Connexus (Parte 1): Como usar a função WebRequest?

Introdução ao Connexus (Parte 1): Como usar a função WebRequest?

Este artigo é o início de uma série de desenvolvimentos para uma biblioteca chamada “Connexus”, que tem como objetivo facilitar requisições HTTP com MQL5. O objetivo deste projeto é fornecer ao usuário final essa oportunidade e mostrar como usar esta biblioteca auxiliar. Eu procurei torná-lo o mais simples possível para facilitar o estudo e proporcionar a possibilidade de futuros desenvolvimentos.
preview
Algoritmo do buraco negro — Black Hole Algorithm (BHA)

Algoritmo do buraco negro — Black Hole Algorithm (BHA)

O algoritmo do buraco negro (Black Hole Algorithm, BHA) utiliza os princípios da gravidade dos buracos negros para otimizar soluções. Neste artigo, vamos explorar como o BHA atrai as melhores soluções, evitando mínimos locais, e por que esse algoritmo se tornou uma ferramenta poderosa para resolver problemas complexos. Descubra como ideias simples podem gerar resultados impressionantes no mundo da otimização.
preview
Simulação de mercado: Iniciando o SQL no MQL5 (I)

Simulação de mercado: Iniciando o SQL no MQL5 (I)

Neste artigo, começaremos a explorar o uso do SQL dentro de um código MQL5. Vemos como podemos cria um banco de dados. Ou melhor dizendo, como podemos criar um arquivo de banco de dados em SQLite, usando para isto dispositivos ou procedimentos contidos dentro da linguagem MQL5. Veremos também, como criar uma tabela e depois como criar uma relação entre tabelas via chave primária e chave estrangeira. Isto tudo, usando novamente o MQL5. Veremos como é simples tornar um código que poderá no futuro ser portado para outras implementações do SQL, usando uma classe para nos ajudar a ocultar a implementação que está sendo criada. E o mais importante de tudo. Veremos que em diversos momentos, podemos correr o risco de fazer algo não dar certo ao usarmos SQL. Isto devido ao fato de que dentro do código MQL5, um código SQL irá ser sempre colocado como sendo uma STRING.
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
Desenvolvimento do Conjunto de Ferramentas de Análise de Price Action – Parte (4): Analytics Forecaster EA

Desenvolvimento do Conjunto de Ferramentas de Análise de Price Action – Parte (4): Analytics Forecaster EA

Estamos indo além de simplesmente visualizar métricas analisadas nos gráficos, ampliando a perspectiva para incluir a integração com o Telegram. Essa melhoria permite que resultados importantes sejam entregues diretamente ao seu dispositivo móvel por meio do aplicativo Telegram. Junte-se a nós enquanto exploramos essa jornada neste artigo.
preview
Integração do MQL5 com pacotes de processamento de dados (Parte 1): Análise avançada de dados e processamento estatístico

Integração do MQL5 com pacotes de processamento de dados (Parte 1): Análise avançada de dados e processamento estatístico

A integração permite um fluxo de trabalho contínuo, no qual os dados financeiros brutos do MQL5 podem ser importados para pacotes de processamento de dados, como o Jupyter Lab, possibilitando análises avançadas, incluindo testes estatísticos.
preview
Criando um painel administrativo de negociação em MQL5 (Parte III): Expansão das classes incorporadas para gerenciamento de temas (II)

Criando um painel administrativo de negociação em MQL5 (Parte III): Expansão das classes incorporadas para gerenciamento de temas (II)

Vamos expandir a biblioteca existente Dialog, incorporando nela a lógica de gerenciamento de temas. Além disso, vamos integrar os métodos de troca de temas nas classes CDialog, CEdit e CButton, utilizadas no nosso projeto de painel administrativo.
preview
Teoria das Categorias em MQL5 (Parte 7): Domínios Multiconjuntos, Relativos e Indexados.

Teoria das Categorias em MQL5 (Parte 7): Domínios Multiconjuntos, Relativos e Indexados.

A teoria das categorias é um ramo diversificado e em expansão da matemática que só recentemente começou a ser abordado na comunidade MQL5. Esta série de artigos tem como objetivo analisar alguns de seus conceitos para criar uma biblioteca aberta e utilizar ainda mais essa maravilhosa seção na criação de estratégias de negociação.
preview
Simulação de mercado (Parte 23): Iniciando o SQL (VI)

Simulação de mercado (Parte 23): Iniciando o SQL (VI)

Neste artigo exploremos como fazer a visualização, e por consequência entender como um banco de dados está estruturado. Isto foi feito, ao observarmos o diagrama interno do banco de dados. Mesmo que este tipo de coisa, pareça ser algo desnecessário. Pode ser algo bastante valido, se você pretende de fato se tornar um administrador de bancos de dados. E sim, existem pessoas que, vivem de fazer manutenção, e criação de bancos de dados.
preview
Portfolio Risk Model using Kelly Criterion and Monte Carlo Simulation

Portfolio Risk Model using Kelly Criterion and Monte Carlo Simulation

Por décadas, traders vêm utilizando a fórmula do Critério de Kelly para determinar a proporção ideal de capital a ser alocada em um investimento ou aposta, a fim de maximizar o crescimento de longo prazo enquanto minimiza o risco de ruína. No entanto, seguir cegamente o Critério de Kelly utilizando o resultado de um único backtest costuma ser perigoso para traders individuais, pois, na negociação ao vivo, a vantagem de trading diminui com o tempo, e o desempenho passado não é garantia de resultado futuro. Neste artigo, apresentarei uma abordagem realista para aplicar o Critério de Kelly para alocação de risco de um ou mais EAs no MetaTrader 5, incorporando resultados de simulação de Monte Carlo provenientes do Python.
preview
Integrando Discord com MetaTrader 5: Construindo um Bot de Trading com Notificações em Tempo Real

Integrando Discord com MetaTrader 5: Construindo um Bot de Trading com Notificações em Tempo Real

Neste artigo, veremos como integrar o MetaTrader 5 a um servidor Discord para receber notificações de negociações em tempo real de qualquer lugar. Veremos como configurar a plataforma e o Discord para habilitar o envio de alertas ao Discord. Também abordaremos questões de segurança que surgem em conexão com o uso de WebRequests e webhooks para esse tipo de solução de alertas.
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 EA multimoeda (Parte 7): Seleção de grupos considerando o período forward

Desenvolvendo um EA multimoeda (Parte 7): Seleção de grupos considerando o período forward

Anteriormente, ao selecionar grupos de estratégias de trading para melhorar os resultados combinados, avaliamos os grupos apenas no mesmo período utilizado para a otimização dos EAs individuais. Vamos agora observar o que acontece ao aplicar a seleção no período forward.
preview
Integrando o MQL5 com pacotes de processamento de dados (Parte 2): Aprendizado de Máquina e Análise Preditiva

Integrando o MQL5 com pacotes de processamento de dados (Parte 2): Aprendizado de Máquina e Análise Preditiva

Na nossa série sobre integração do MQL5 com pacotes de processamento de dados, mergulhamos na poderosa combinação de aprendizado de máquina e análise preditiva. Exploraremos como conectar o MQL5 de forma perfeita com bibliotecas populares de aprendizado de máquina, para possibilitar modelos preditivos sofisticados para os mercados financeiros.
preview
Análise de Sentimento no Twitter com Sockets

Análise de Sentimento no Twitter com Sockets

Este inovador bot de negociação integra o MetaTrader 5 com Python para aproveitar a análise de sentimento em tempo real nas mídias sociais para decisões automatizadas de negociação. Ao analisar o sentimento no Twitter relacionado a instrumentos financeiros específicos, o bot traduz as tendências das mídias sociais em sinais acionáveis de negociação. Ele utiliza uma arquitetura cliente-servidor com comunicação via socket, permitindo uma interação contínua entre as capacidades de negociação do MT5 e o poder de processamento de dados do Python.
preview
Criando um painel de administração de trading em MQL5 (Parte VII): Usuário confiável, recuperação e criptografia

Criando um painel de administração de trading em MQL5 (Parte VII): Usuário confiável, recuperação e criptografia

Alertas de segurança, como aqueles que aparecem sempre que o gráfico é atualizado, uma nova par é adicionada ao chat do painel administrativo do EA ou o terminal é reiniciado, podem se tornar cansativos. Nesta discussão, vamos analisar e implementar uma função que rastreia o número de tentativas de login para identificar um usuário confiável. Após um determinado número de tentativas malsucedidas, o aplicativo passará para um procedimento avançado de login, que também facilita a recuperação de senha para usuários que possam tê-la esquecido. Além disso, veremos como é possível integrar de forma eficiente a criptografia no painel administrativo para aumentar a segurança.
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 otimização baseado em brainstorming — Brain Storm Optimization (Parte II): Multimodalidade

Algoritmo de otimização baseado em brainstorming — Brain Storm Optimization (Parte II): Multimodalidade

Na segunda parte do artigo, vamos para a implementação prática do algoritmo BSO, realizaremos testes com funções de teste e compararemos a eficiência do BSO com outros métodos de otimização.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 21): Testando com Dados do Calendário Econômico

Técnicas do MQL5 Wizard que você deve conhecer (Parte 21): Testando com Dados do Calendário Econômico

Os dados do Calendário Econômico não estão disponíveis para testes com Expert Advisors no Strategy Tester, por padrão. Vamos explorar como bancos de dados poderiam ajudar a contornar essa limitação. Portanto, neste artigo, exploramos como os bancos de dados SQLite podem ser usados para arquivar notícias do Calendário Econômico, de modo que os Expert Advisors montados pelo Wizard possam usá-los para gerar sinais de trade.
preview
Algoritmo evolutivo de trading com aprendizado por reforço e extinção de estratégias não lucrativas (ETARE)

Algoritmo evolutivo de trading com aprendizado por reforço e extinção de estratégias não lucrativas (ETARE)

Apresentamos um algoritmo de trading inovador que combina algoritmos evolutivos com aprendizado profundo por reforço para operar no mercado Forex. O algoritmo utiliza um mecanismo de extinção das estratégias ineficientes, com o objetivo de otimizar a estratégia de negociação.
preview
Desenvolvendo um EA multimoeda (Parte 21): Preparação para um experimento importante e otimização do código

Desenvolvendo um EA multimoeda (Parte 21): Preparação para um experimento importante e otimização do código

Para avançar mais, seria interessante verificar se conseguimos melhorar os resultados executando periodicamente uma reotimização automática e a geração de um novo EA. Muitas discussões sobre o uso da otimização de parâmetros giram em torno da questão de por quanto tempo é possível usar os parâmetros obtidos para operar em um período futuro, mantendo os principais indicadores de lucratividade e rebaixamento dentro dos níveis estabelecidos. E será que isso é de fato possível?
preview
Fibonacci no Forex (Parte I): Testando relações entre preço e tempo

Fibonacci no Forex (Parte I): Testando relações entre preço e tempo

Como o mercado se movimenta com base em proporções derivadas dos números de Fibonacci? Essa sequência, em que cada número é a soma dos dois anteriores (1, 1, 2, 3, 5, 8, 13, 21...), não descreve apenas o crescimento da população de coelhos. Vamos considerar a hipótese de Pitágoras de que tudo no mundo obedece a certas proporções numéricas...
preview
Visão computacional para trading (Parte 1): Criando uma funcionalidade básica simples

Visão computacional para trading (Parte 1): Criando uma funcionalidade básica simples

Sistema de previsão do EURUSD usando visão computacional e aprendizado profundo. Descubra como redes neurais convolucionais podem reconhecer padrões complexos de preços no mercado cambial e prever o movimento da cotação com precisão de até 54%. O artigo revela a metodologia de criação de um algoritmo que utiliza tecnologias de inteligência artificial para análise visual de gráficos, em vez de indicadores técnicos tradicionais. O autor demonstra o processo de transformação dos dados de preços em "imagens", seu processamento por uma rede neural e a oportunidade única de olhar para a "consciência" da IA por meio de mapas de ativação e mapas de calor de atenção. O código prático em Python, com a utilização da biblioteca MetaTrader 5, possibilita que os leitores reproduzam o sistema e o apliquem em seu próprio trading.
preview
Desenvolvendo um EA multimoeda (Parte 24): Conectando uma nova estratégia (I)

Desenvolvendo um EA multimoeda (Parte 24): Conectando uma nova estratégia (I)

Neste artigo, vamos analisar como conectar uma nova estratégia ao sistema de otimização automática criado. Vamos ver quais EAs precisaremos criar e se será possível evitar alterações nos arquivos da biblioteca Advisor, ou pelo menos reduzi-las ao mínimo.
preview
Simulação de mercado: Iniciando o SQL no MQL5 (III)

Simulação de mercado: Iniciando o SQL no MQL5 (III)

No artigo anterior vimos como poderíamos desenvolver uma classe em MQL5, que seria capaz de nos dar algum suporte. Cuja finalidade, se dá justamente para que possamos colocar o código SQL dentro de um arquivo de script. Isto de forma que não precisaríamos, ter que digitar o mesmo código em uma string, no código MQL5. Mas apesar de daquela solução, ser funcional. Ela contem alguns detalhes, que podemos melhorar e devemos melhorar.