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
Técnicas do MQL5 Wizard que você deve conhecer (Parte 44): Indicador técnico Average True Range (ATR)

Técnicas do MQL5 Wizard que você deve conhecer (Parte 44): Indicador técnico Average True Range (ATR)

O oscilador ATR é um indicador muito popular para atuar como um proxy de volatilidade, especialmente nos mercados de forex onde os dados de volume são escassos. Nós o examinamos com base em padrões, assim como fizemos com indicadores anteriores, e compartilhamos estratégias e relatórios de testes graças às classes da biblioteca MQL5 wizard e sua montagem.
preview
Criação de um painel de administração de trading em MQL5 (Parte V): Autenticação de dois fatores (2FA)

Criação de um painel de administração de trading em MQL5 (Parte V): Autenticação de dois fatores (2FA)

Este artigo aborda o aumento da segurança do painel de administração de trading, atualmente em desenvolvimento. Vamos explorar como integrar o MQL5 a uma nova estratégia de segurança, utilizando a API do Telegram para autenticação de dois fatores (2FA). O artigo traz informações valiosas sobre a aplicação de MQL5 para reforçar medidas de segurança. Além disso, veremos a função MathRand, focando em sua funcionalidade e na forma como pode ser usada de forma eficiente em nosso sistema de segurança.
preview
Seleção de características e redução de dimensionalidade com Análise de Componentes Principais (PCA)

Seleção de características e redução de dimensionalidade com Análise de Componentes Principais (PCA)

O artigo analisa a implementação de um algoritmo modificado de análise de componentes de seleção direta, inspirado nas pesquisas apresentadas no livro de Luca Puggini e Sean McLoone "Análise de Componentes de Seleção Direta: algoritmos e aplicações".
preview
Criando um painel MQL5 interativo usando a classe Controls (Parte 2): Adicionando responsividade aos botões

Criando um painel MQL5 interativo usando a classe Controls (Parte 2): Adicionando responsividade aos botões

Neste artigo, vamos transformar nosso painel de monitoramento MQL5 estático em uma ferramenta interativa, adicionando responsividade aos botões. Veremos como automatizar a funcionalidade dos componentes da interface gráfica, garantindo que eles respondam corretamente aos cliques do usuário. Ao final do artigo, criaremos uma interface dinâmica que melhora o engajamento do usuário e a praticidade da negociação.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 43): Aprendizado por reforço com SARSA

Recursos do Assistente MQL5 que você precisa conhecer (Parte 43): Aprendizado por reforço com SARSA

O SARSA (State-Action-Reward-State-Action, estado–ação–recompensa–estado–ação) é outro algoritmo que pode ser utilizado na implementação de aprendizado por reforço. Vamos analisar como esse algoritmo pode ser implementado como um modelo independente (e não apenas como um mecanismo de aprendizado) em Expert Advisors gerados no Wizard, de forma semelhante ao que fizemos nos casos de Q-learning e DQN.
preview
Simulação de mercado: Position View (VI)

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

Neste artigo, faremos diversas melhorias, visando obter com que o indicador de posição, venha a refletir o que de fato está ocorrendo no servidor de negociação em termos de posições e seu status atual. Devo lembrar, que estas aplicações que serão mostradas aqui, não visam de maneira alguma substituir qualquer elemento presente no MetaTrader 5. E tal pouco devem ser utilizadas sem os devidos cuidados e critérios. Já que elas tem como objetivo terem um código didático. Ou seja, para fins de aprendizado de como as coisas funcionam. E o motivo para que eu diga que o código é didático. É pelo fato de que o uso de mensagens em alguns casos não é a melhor forma de implementar as coisas.
preview
Do básico ao intermediário: Acesso aleatório (II)

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

Neste artigo iremos ver como duas abordagens ligeiramente diferentes podem ter um impacto muito grande em todo uma metodologia de implementação. Tanto pelo ponto de vista de performance, quanto pelo ponto de vista de como acessos ao disco devem ser pensados a fim de evitar problemas de compatibilidade entre diferentes aplicações.
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
Criando um EA em MQL5 com base na estratégia de Rompimento do Intervalo Diário (Daily Range Breakout)

Criando um EA em MQL5 com base na estratégia de Rompimento do Intervalo Diário (Daily Range Breakout)

Neste artigo, criamos um EA em MQL5 com base na estratégia de Rompimento do Intervalo Diário (Daily Range Breakout). Vamos abordar os conceitos-chave da estratégia, desenvolver o esquema do EA e implementar a lógica de rompimento em MQL5. Por fim, estudamos os métodos de backtest e otimização do EA para maximizar sua eficiência.
preview
Reimaginando Estratégias Clássicas (Parte IX): Análise de Múltiplos Time-Frames (II)

Reimaginando Estratégias Clássicas (Parte IX): Análise de Múltiplos Time-Frames (II)

Na discussão de hoje, examinamos a estratégia de análise de múltiplos time-frames para descobrir em qual time-frame nosso modelo de IA apresenta melhor desempenho. Nossa análise nos levou a concluir que os time-frames Mensal e de 1 Hora produzem modelos com taxas de erro relativamente baixas no par EURUSD. Usamos isso a nosso favor e criamos um algoritmo de negociação que faz previsões de IA no time-frame Mensal e executa suas negociações no time-frame de 1 Hora.
preview
Consultor Especialista Auto-Otimizável com MQL5 e Python (Parte V): Modelos de Markov Profundos

Consultor Especialista Auto-Otimizável com MQL5 e Python (Parte V): Modelos de Markov Profundos

Nesta discussão, aplicaremos uma Cadeia de Markov simples sobre um indicador RSI, para observar como o preço se comporta após o indicador atravessar níveis-chave. Concluímos que os sinais de compra e venda mais fortes no par NZDJPY são gerados quando o RSI está nas faixas de 11-20 e 71-80, respectivamente. Vamos demonstrar como você pode manipular seus dados para criar estratégias de trading ideais aprendidas diretamente a partir dos dados que possui. Além disso, mostraremos como treinar uma rede neural profunda para aprender a utilizar a matriz de transição de forma otimizada.
preview
De Iniciante a Especialista: Depuração Colaborativa em MQL5

De Iniciante a Especialista: Depuração Colaborativa em MQL5

A resolução de problemas pode estabelecer uma rotina concisa para dominar habilidades complexas, como programar em MQL5. Essa abordagem permite que você se concentre na resolução de problemas enquanto desenvolve suas habilidades ao mesmo tempo. Quanto mais problemas você resolver, mais conhecimento avançado será transferido para o seu cérebro. Pessoalmente, acredito que a depuração é a forma mais eficaz de dominar a programação. Hoje, vamos percorrer o processo de limpeza de código e discutir as melhores técnicas para transformar um programa desorganizado em um funcional e limpo. Leia este artigo e descubra insights valiosos.
preview
Simplificando a negociação com base em notícias (Parte 4): Aumentando o desempenho

Simplificando a negociação com base em notícias (Parte 4): Aumentando o desempenho

Neste artigo, serão apresentados métodos para melhorar o desempenho do EA no testador de estratégias, além da implementação de um código para dividir o horário dos eventos de notícias em categorias por hora. O acesso a esses eventos será permitido apenas no horário especificado para cada um. Isso permite que o EA gerencie operações de maneira eficiente com base nos eventos, tanto em condições de alta quanto de baixa volatilidade.
preview
Como criar um diário de negociações com MetaTrader e Google Sheets

Como criar um diário de negociações com MetaTrader e Google Sheets

Crie um diário de negociações usando o MetaTrader e o Google Sheets! Você aprenderá como sincronizar seus dados de negociação via HTTP POST e recuperá-los usando requisições HTTP. Ao final, você terá um diário de negociações que ajudará a acompanhar suas operações de forma eficaz e eficiente.
preview
Criação de um painel de administração de trading no MQL5 (Parte IV): Segurança no login

Criação de um painel de administração de trading no MQL5 (Parte IV): Segurança no login

Imagine que um invasor tenha conseguido entrar no sistema de gerenciamento de trading e obtido acesso aos computadores e ao painel de administração usados para transmitir informações valiosas a milhões de traders em todo o mundo. Isso pode resultar em consequências catastróficas, como o envio não autorizado de mensagens enganosas ou cliques acidentais em botões que disparam ações indesejadas. Neste artigo, analisaremos as medidas de segurança do MQL5 e os novos recursos de proteção implementados em nosso painel de administração para evitar tais ameaças. Ao aprimorar nossos protocolos de segurança, buscamos proteger nossos canais de comunicação e manter a confiança dos membros de nossa comunidade de trading.
preview
Como integrar o conceito de Smart Money (OB) em combinação com o indicador Fibonacci para entrada ideal na operação

Como integrar o conceito de Smart Money (OB) em combinação com o indicador Fibonacci para entrada ideal na operação

As SMC (Order Block) são áreas-chave em que os traders institucionais realizam compras ou vendas significativas. Após uma movimentação considerável de preço, os níveis de Fibonacci ajudam a identificar um possível recuo desde o máximo recente de oscilação (swing high) até o mínimo de oscilação (swing low), de modo a determinar o ponto de entrada ideal na operação.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 41): Deep-Q-Networks

Técnicas do MQL5 Wizard que você deve conhecer (Parte 41): Deep-Q-Networks

O Deep-Q-Network é um algoritmo de aprendizado por reforço que utiliza redes neurais para projetar (estimar) o próximo valor-Q e a ação ideal durante o processo de treinamento de um módulo de aprendizado de máquina. Já consideramos um algoritmo alternativo de aprendizado por reforço, o Q-Learning. Este artigo, portanto, apresenta outro exemplo de como um MLP treinado com aprendizado por reforço pode ser usado dentro de uma classe de sinal personalizada.
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
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
Integração do MQL5 com pacotes de processamento de dados (Parte 3): Visualização de dados aprimorada

Integração do MQL5 com pacotes de processamento de dados (Parte 3): Visualização de dados aprimorada

Neste artigo, vamos explorar a visualização de dados avançada, incluindo recursos como interatividade, dados em camadas e elementos dinâmicos, que permitem aos traders examinar tendências, padrões e correlações com mais eficácia.
preview
MQL5 Trading Toolkit (Parte 3): Desenvolvimento de uma biblioteca EX5 para gerenciamento de ordens pendentes

MQL5 Trading Toolkit (Parte 3): Desenvolvimento de uma biblioteca EX5 para gerenciamento de ordens pendentes

Você aprenderá como desenvolver e implementar uma biblioteca EX5 abrangente para ordens pendentes em seu código ou projetos MQL5. Vamos analisar como importar e implementar essa biblioteca como parte de um painel de negociação ou interface gráfica do usuário (GUI). O painel de ordens do EA permitirá aos usuários abrir, acompanhar e excluir ordens pendentes por número mágico diretamente na interface gráfica exibida na janela do gráfico.
preview
Data Science e ML (Parte 30): O Casal Poderoso para Prever o Mercado de Ações, Redes Neurais Convolucionais (CNNs) e Redes Neurais Recorrentes (RNNs)

Data Science e ML (Parte 30): O Casal Poderoso para Prever o Mercado de Ações, Redes Neurais Convolucionais (CNNs) e Redes Neurais Recorrentes (RNNs)

Neste artigo, exploramos a integração dinâmica das Redes Neurais Convolucionais (CNNs) e das Redes Neurais Recorrentes (RNNs) na previsão do mercado de ações. Aproveitando a capacidade das CNNs de extrair padrões e a proficiência das RNNs em lidar com dados sequenciais. Vamos ver como essa combinação poderosa pode aumentar a precisão e eficiência dos algoritmos de negociação.
preview
Criando um Expert Advisor Integrado MQL5-Telegram (Parte 7): Análise de Comandos para Automação de Indicadores em Gráficos

Criando um Expert Advisor Integrado MQL5-Telegram (Parte 7): Análise de Comandos para Automação de Indicadores em Gráficos

Neste artigo, exploramos como integrar comandos do Telegram com MQL5 para automatizar a adição de indicadores em gráficos de negociação. Cobrimos o processo de análise (parsing) dos comandos dos usuários, sua execução no MQL5 e o teste do sistema para garantir uma negociação baseada em indicadores de forma fluida.
preview
Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 9): Expert Advisor de Múltiplas Estratégias (I)

Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 9): Expert Advisor de Múltiplas Estratégias (I)

Hoje, vamos explorar as possibilidades de incorporar múltiplas estratégias em um Expert Advisor (EA) usando MQL5. Os Expert Advisors oferecem capacidades mais amplas do que apenas indicadores e scripts, permitindo abordagens de negociação mais sofisticadas que podem se adaptar às mudanças das condições do mercado. Confira mais na discussão deste artigo.
preview
Repensando estratégias clássicas (Parte X): A IA pode operar o MACD?

Repensando estratégias clássicas (Parte X): A IA pode operar o MACD?

Junte-se a nós em uma análise empírica do indicador MACD para verificar se a aplicação da inteligência artificial à estratégia que inclui esse indicador pode aumentar a precisão da previsão do par EURUSD. Avaliamos simultaneamente se é mais fácil prever o próprio indicador do que o preço, bem como se o valor do indicador permite prever os níveis futuros de preço. Forneceremos as informações necessárias para que você decida se vale a pena investir seu tempo integrando o MACD às suas estratégias de trading com o uso de inteligência artificial.
preview
Criando um painel MQL5 interativo usando a classe Controls (Parte 1): Configurando o painel

Criando um painel MQL5 interativo usando a classe Controls (Parte 1): Configurando o painel

Neste artigo, vamos criar um painel de negociação interativo utilizando a classe Controls no MQL5, voltado para otimizar as operações de trading. O painel conterá um cabeçalho, botões de navegação para trading, fechamento e informações, além de botões especializados para envio de ordens e gerenciamento de posições. Ao final do artigo, teremos um painel básico pronto para futuras melhorias.
preview
Exemplo de novo Indicador e LSTM Condicional

Exemplo de novo Indicador e LSTM Condicional

Este artigo explora o desenvolvimento de um Expert Advisor (EA) para trading automatizado que combina análise técnica com previsões de deep learning.
preview
Ganhe Vantagem em Qualquer Mercado (Parte V): Dados Alternativos FRED EURUSD

Ganhe Vantagem em Qualquer Mercado (Parte V): Dados Alternativos FRED EURUSD

Na discussão de hoje, utilizamos dados alternativos diários do Federal Reserve de St. Louis sobre o Índice Amplo do Dólar dos EUA e um conjunto de outros indicadores macroeconômicos para prever a taxa de câmbio futura do EURUSD. Infelizmente, embora os dados aparentem ter uma correlação quase perfeita, não conseguimos obter ganhos materiais em nossa acurácia de modelo, o que pode nos indicar que os investidores talvez estejam melhores usando apenas as cotações normais do mercado.
preview
Adicionando um LLM personalizado a um robô investidor (Parte 5): Desenvolvimento e teste de uma estratégia de trading com LLM (II) - Configuração do LoRA

Adicionando um LLM personalizado a um robô investidor (Parte 5): Desenvolvimento e teste de uma estratégia de trading com LLM (II) - Configuração do LoRA

Os modelos de linguagem (LLMs) são uma parte importante da inteligência artificial que evolui rapidamente. E para aproveitar isso devemos pensar em como integrar LLMs avançados em nossa negociação algorítmica. Muitos acham desafiador ajustar esses modelos de acordo com suas necessidades, implantá-los localmente e, logo, aplicá-los à negociação algorítmica. Esta série de artigos explorará uma abordagem passo a passo para alcançar esse objetivo.
preview
Ciência de dados e aprendizado de máquina (Parte 31): Aplicação de modelos CatBoost no trading

Ciência de dados e aprendizado de máquina (Parte 31): Aplicação de modelos CatBoost no trading

Os modelos de inteligência artificial CatBoost ganharam enorme popularidade na comunidade de aprendizado de máquina graças à sua precisão nas previsões, eficiência e resistência a conjuntos de dados fragmentados e complexos. Este artigo trata de como usar esses modelos no mercado Forex.
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
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
Codificação ordinal de variáveis nominais

Codificação ordinal de variáveis nominais

Neste artigo, discutiremos e demonstraremos como transformar variáveis nominais em formatos numéricos adequados para algoritmos de aprendizado de máquina, utilizando tanto Python quanto MQL5.
preview
Criação de um EA em MQL5 com base na estratégia PIRANHA utilizando Bandas de Bollinger

Criação de um EA em MQL5 com base na estratégia PIRANHA utilizando Bandas de Bollinger

Neste artigo, criamos um EA (Expert Advisor) em MQL5 com base na estratégia PIRANHA, utilizando as Bandas de Bollinger para aumentar a eficiência da negociação. Discutimos os princípios-chave da estratégia, a implementação do código, bem como os métodos de teste e otimização. Esse conhecimento permitirá usar o EA com eficácia em seus cenários de trading.
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
Do básico ao intermediário: FileSave e FileLoad

Do básico ao intermediário: FileSave e FileLoad

Neste artigo será explicado e explorado algumas formas de lidar com as funções de biblioteca FileSave e FileLoad. Apesar de muita gente, as considerar pouco promissoras, devido a algumas limitações ou dificuldades que as mesmas nos gera em alguns tipos de cenários. Entender da forma correta como estas duas funções trabalham, podem lhe poupar muito trabalho em certos momento. Além é claro, das mesmas, serem uma ótima forma de promover arquivos de log.
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
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
Reimaginando Estratégias Clássicas em MQL5 (Parte III): Previsão do FTSE 100

Reimaginando Estratégias Clássicas em MQL5 (Parte III): Previsão do FTSE 100

Nesta série de artigos, vamos revisitar estratégias de negociação já conhecidas para investigar se podemos aprimorá-las utilizando IA. No artigo de hoje, exploraremos o FTSE 100 e tentaremos prever o índice utilizando uma parte das ações individuais que compõem esse índice.
preview
Análise Múltipla de Símbolos com Python e MQL5 (Parte I): Fabricantes de Circuitos Integrados do NASDAQ

Análise Múltipla de Símbolos com Python e MQL5 (Parte I): Fabricantes de Circuitos Integrados do NASDAQ

Junte-se a nós para discutir como você pode usar IA para otimizar o dimensionamento de posições e a quantidade de ordens, a fim de maximizar o retorno do seu portfólio. Vamos mostrar como identificar, de forma algorítmica, um portfólio ideal e adaptar seu portfólio conforme sua expectativa de retorno ou níveis de tolerância ao risco. Nesta discussão, vamos utilizar a biblioteca SciPy e a linguagem MQL5 para criar um portfólio ideal e diversificado usando todos os dados que temos.