Artigos sobre programação nas linguagens MQL4 e 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
Criação de Indicadores complexos de maneira fácil usando objetos

Criação de Indicadores complexos de maneira fácil usando objetos

Este artigo fornece um método para criar os indicadores complexos e, ao mesmo tempo, evitar os problemas que surgem ao lidar com vários gráficos, buffers e/ou combinar dados de várias fontes.
preview
Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 1): Sinais baseados no ADX em combinação com o Parabolic SAR

Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 1): Sinais baseados no ADX em combinação com o Parabolic SAR

Neste artigo, por EA multimoeda, entendemos um Expert Advisor ou robô de negociação capaz de negociar (abrir/fechar ordens, gerenciar ordens, etc.) mais de um par de símbolos a partir de um único gráfico.
preview
Do básico ao intermediário: Template e Typename (I)

Do básico ao intermediário: Template e Typename (I)

Aqui neste artigo, começaremos a lidar com um dos conceitos, que muitos iniciantes evitam. Isto por conta de que, templates, não é um assunto que podemos dizer, ser simples de entender e utilizar. Já que muitos não compreendem o princípio básico que se encontra por baixo do que seria um template. Que é justamente a sobrecarga de funções e procedimentos.
Diagnósticos de mercado por pulso
Diagnósticos de mercado por pulso

Diagnósticos de mercado por pulso

Nesse artigo, faremos uma tentativa de visualizar a intensidade de mercados específicos e seus segmentos de tempo para detectar as regularidades e padrões de comportamento.
Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos
Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos

Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos

Com este artigo, começaremos o desenvolvimento de uma classe-coleção de objetos-gráficos que armazenará uma lista-coleção de objetos-gráficos com suas subjanelas e indicadores, e tornará possível trabalhar com gráficos selecionados e suas subjanelas, ou com uma lista de vários gráficos ao mesmo tempo.
preview
Ciência de dados e Aprendizado de Máquina (parte 09): O algoritmo K-vizinhos mais próximos (KNN)

Ciência de dados e Aprendizado de Máquina (parte 09): O algoritmo K-vizinhos mais próximos (KNN)

Este é um algoritmo preguiçoso que não aprende com o conjunto de dados de treinamento, ele armazena o conjunto de dados e age imediatamente quando ele recebe uma nova amostra. Por mais simples que ele seja, ele é usado em uma variedade de aplicações do mundo real
preview
Avaliando modelos ONNX usando métricas de regressão

Avaliando modelos ONNX usando métricas de regressão

A regressão é uma tarefa de prever um valor real a partir de um exemplo não rotulado. Para avaliar a precisão das previsões de modelos de regressão, são utilizadas as chamadas métricas de regressão.
preview
Indicadores adaptativos

Indicadores adaptativos

Neste artigo, exploraremos diferentes enfoques para desenvolver indicadores adaptativos. Esses indicadores se destacam pelo uso de feedback entre as entradas e saídas, o que permite que eles se adaptem de forma autônoma para processar séries temporais financeiras de forma eficiente.
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte II)
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte II)

Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte II)

Nesse artigo, o autor dá um exemplo de Expert Advisor que cumpre as exigências declaradas em Rules of the Automated Trading Championship 2008.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick
Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick

Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick

Com este artigo, vamos começar a criar a funcionalidade de biblioteca para trabalhar com dados de preços. Hoje vamos criar uma classe de objeto que armazenará todos os dados de preços recebidos no tick a seguir.
preview
Redes neurais de maneira fácil (Parte 83): Transformador espaciotemporal de atenção contínua (Conformer)

Redes neurais de maneira fácil (Parte 83): Transformador espaciotemporal de atenção contínua (Conformer)

O algoritmo Conformer, apresentado aqui, foi desenvolvido para prever o tempo, que, em termos de variabilidade e imprevisibilidade, pode ser comparado aos mercados financeiros. O Conformer é um método complexo que combina as vantagens dos modelos de atenção e das equações diferenciais ordinárias.
preview
Buffers de cores em indicadores de vários símbolos e vários períodos

Buffers de cores em indicadores de vários símbolos e vários períodos

Neste artigo, analisaremos a estrutura do buffer de indicador em indicadores com vários símbolos e vários períodos e geraremos a exibição dos buffers coloridos desses indicadores no gráfico.
preview
Desenvolvendo um EA multimoeda (Parte 1): várias estratégias de trading trabalhando juntas

Desenvolvendo um EA multimoeda (Parte 1): várias estratégias de trading trabalhando juntas

Existem várias estratégias de trading. Do ponto de vista da diversificação de riscos e do aumento da estabilidade dos resultados de trading, pode ser útil usar várias estratégias em paralelo. Mas se cada estratégia for implementada como um EA separado, gerenciar o trabalho conjunto delas em uma conta de trading se torna muito mais complicado. Para resolver esse problema, é um boa idea implementar o trabalho de diferentes estratégias de trading em um único EA.
Como usar registros de parada de funcionamento para depurar os seus próprios DLLs
Como usar registros de parada de funcionamento para depurar os seus próprios DLLs

Como usar registros de parada de funcionamento para depurar os seus próprios DLLs

De 25 a 30% de todos os registros de parada de funcionamento recebidos de usuários surgem por conta de erros ocorridos quando funções importadas de dlls personalizados são executadas.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 08): Travando o Indicador

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 08): Travando o Indicador

Aqui vou mostrar como travar um indicador, usando pura e simplesmente a linguagem MQL5, de uma forma muito interessante e surpreendente.
preview
Construindo e testando sistemas de negociação com o Canal Keltner

Construindo e testando sistemas de negociação com o Canal Keltner

Neste artigo, tentaremos fornecer sistemas de negociação usando um conceito muito importante no mercado financeiro, que é a volatilidade. Forneceremos um sistema de negociação baseado no indicador Canal Keltner após compreendê-lo e como podemos codificá-lo e criar um sistema de negociação baseado em uma estratégia simples de negociação e testá-lo em diferentes ativos.
preview
Linguagem de programação visual DRAKON — ferramenta de comunicação Desenvolvedor/Cliente MQL

Linguagem de programação visual DRAKON — ferramenta de comunicação Desenvolvedor/Cliente MQL

DRAKON é uma linguagem de programação visual especialmente desenvolvida para facilitar a interação entre especialistas de diferentes áreas (biólogos, físicos, engenheiros...) com programadores em projetos espaciais russos (por exemplo, na criação do complexo "Buran"). Neste artigo, vou falar sobre como o DRAKON torna a criação de algoritmos acessível e intuitivamente compreensível, mesmo para quem nunca teve contato com código, e também como é mais fácil quer seja para o cliente explicar suas ideias ao encomendar robôs de negociação quer seja para o programador cometer menos erros em funções complexas.
preview
Criação de um Expert Advisor simples em várias moedas usando MQL5 (Parte 4): Média móvel triangular — Sinais do indicador

Criação de um Expert Advisor simples em várias moedas usando MQL5 (Parte 4): Média móvel triangular — Sinais do indicador

Neste artigo, por EA multimoeda, entendemos um robô investidor, ou um robô de negociação, que pode negociar (abrir/fechar ordens, gerenciar ordens, por exemplo, do tipo trailing stop-loss e trailing profit) mais de um par de moedas em um gráfico. Desta vez, usaremos apenas um indicador, em particular a média móvel triangular em um ou mais timeframes, ou escalas de tempo.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 48): indicadores multissímbolos multiperíodos num buffer de uma subjanela
Trabalhando com séries temporais na biblioteca DoEasy (Parte 48): indicadores multissímbolos multiperíodos num buffer de uma subjanela

Trabalhando com séries temporais na biblioteca DoEasy (Parte 48): indicadores multissímbolos multiperíodos num buffer de uma subjanela

Neste artigo consideraremos um exemplo que mostra como criar indicadores padrão multissímbolos e multiperíodos que usam um buffer de indicador e funcionam numa subjanela do gráfico principal. Prepararemos classes da biblioteca para trabalhar com indicadores padrão que funcionam na janela principal do programa, ou que tenham mais de um buffer para exibir seus dados.
preview
Desenvolvendo um EA multimoeda (Parte 9): Coleta dos resultados de otimização de instâncias individuais da estratégia de trading

Desenvolvendo um EA multimoeda (Parte 9): Coleta dos resultados de otimização de instâncias individuais da estratégia de trading

Vamos delinear as principais etapas para o desenvolvimento do nosso EA. Uma das primeiras será realizar a otimização de uma instância individual da estratégia de trading desenvolvida. Tentaremos reunir em um único lugar todas as informações necessárias sobre as execuções do testador durante a otimização.
Análise técnica: Torne possível o impossível!
Análise técnica: Torne possível o impossível!

Análise técnica: Torne possível o impossível!

O artigo responde a pergunta: por que o impossível tornou-se possível onde grande parte sugere o contrário? Raciocínio da análise técnica.
Filtragem de acordo com o histórico
Filtragem de acordo com o histórico

Filtragem de acordo com o histórico

O artigo descreve o uso de negociações virtuais como uma parte integral do filtro de abertura de negociações.
preview
Como desenvolver um sistema de negociação baseado no indicador MFI

Como desenvolver um sistema de negociação baseado no indicador MFI

O novo artigo de nossa série sobre como projetar um sistema de negociação baseado nos indicadores técnicos mais populares considera um novo indicador técnico - o Índice de Fluxo de Dinheiro (MFI). Estudaremos este indicador em detalhes e aprenderemos a desenvolver um sistema de negociação simples utilizando a linguagem MQL5 para, posteriormente, executá-lo na MetaTrader 5.
preview
Redes neurais de maneira fácil (Parte 31): Algoritmos evolutivos

Redes neurais de maneira fácil (Parte 31): Algoritmos evolutivos

No último artigo, iniciamos a análise dos métodos de otimização sem gradiente, e nos familiarizamos com o algoritmo genético. Hoje, continuaremos a discutir o mesmo assunto e também examinaremos outra classe de algoritmos evolutivos.
preview
Preparação de indicadores com vários símbolos/períodos

Preparação de indicadores com vários símbolos/períodos

Neste artigo, examinaremos os princípios para criar indicadores com vários símbolos/períodos e recuperar dados deles dentro de EAs e indicadores. Veremos as nuances mais importantes ao usar multi-indicadores em EAs e indicadores, e sua plotagem mediante buffers de indicador personalizado.
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
Conselhos de um programador profissional (Parte III): Registro de Logs. Conectando-se ao sistema Seq de coleta e análise de logs

Conselhos de um programador profissional (Parte III): Registro de Logs. Conectando-se ao sistema Seq de coleta e análise de logs

Implementação da classe Logger para unificar e estruturar as mensagens que são impressas no log da guia Experts na caixa de ferramentas. Conexão com o sistema Seq de coleta e análise de logs. Monitoramento de mensagens de log online.
preview
Redes neurais de maneira fácil (Parte 26): aprendizado por reforço

Redes neurais de maneira fácil (Parte 26): aprendizado por reforço

Continuamos a estudar métodos de aprendizado de máquina. Com este artigo, começamos outro grande tópico chamado aprendizado por reforço. Essa abordagem permite que os modelos estabeleçam certas estratégias para resolver as tarefas. E esperamos que essa propriedade inerente ao aprendizado de reforço abra novos horizontes para a construção de estratégias de negociação.
preview
Experimentos com redes neurais (Parte 5): Normalização de parâmetros de entrada para alimentar a rede neural

Experimentos com redes neurais (Parte 5): Normalização de parâmetros de entrada para alimentar a rede neural

As redes neurais são tudo para nós. E vamos verificar na prática se é assim, indagando se MetaTrader 5 é uma ferramenta autossuficiente para implementar redes neurais na negociação. A explicação vai ser simples.
preview
Redes neurais de maneira fácil (Parte 17): Redução de dimensionalidade

Redes neurais de maneira fácil (Parte 17): Redução de dimensionalidade

Continuamos a estudar modelos de inteligência artificial, em particular, algoritmos de aprendizado não supervisionados. Já nos encontramos com um dos algoritmos de agrupamento. E neste artigo quero compartilhar com vocês outra maneira de resolver os problemas de redução de dimensionalidade.
Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo
Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo

Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo

Neste artigo, criaremos uma lista para armazenar dados de tick de um símbolo e verificaremos tal criação e respectiva recepção de dados a partir dela no EA. Essas listas de dados de tick - separadamente para cada símbolo usado - formarão uma coleção de dados de tick.
preview
Desenvolvendo um agente de Aprendizado por Reforço em MQL5 com Integração RestAPI (Parte 5): Escolhendo o Algoritmo do agente

Desenvolvendo um agente de Aprendizado por Reforço em MQL5 com Integração RestAPI (Parte 5): Escolhendo o Algoritmo do agente

Este capítulo da série aborda algoritmos de aprendizado por reforço, focando em Q-Learning, Deep Q-Network (DQN), e Proximal Policy Optimization (PPO). Explora como essas técnicas podem ser integradas para melhorar a automação de tarefas, detalhando suas características, vantagens, e aplicabilidades práticas. A seleção do algoritmo mais adequado é vista como crucial para otimizar a eficiência operacional em ambientes dinâmicos e incertos, prometendo discussões futuras sobre a implementação prática e teórica desses métodos.
preview
Mais sobre o sistema Murray

Mais sobre o sistema Murray

Os sistemas gráficos de análise de preços são amplamente reconhecidos e apreciados pelos traders. Neste artigo, irei abordar o sistema Murray em sua totalidade, que engloba não apenas os renomados níveis, mas também outras técnicas úteis para avaliar a posição atual do preço e tomar decisões de negociação.
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte IV)
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte IV)

Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte IV)

Nesse artigo o autor continua a analisar algoritmos de implementação de sistemas de negociação simples e introduz os registros de resultados de otimização nos testes de simulação em um arquivo html na forma de uma tabela. O artigo será útil para investidores iniciantes e desenvolvedores de EA.
preview
Gráficos na biblioteca DoEasy (Parte 98): Movendo pontos de ancoragem de objetos gráficos padrão estendidos

Gráficos na biblioteca DoEasy (Parte 98): Movendo pontos de ancoragem de objetos gráficos padrão estendidos

Neste artigo, continuaremos a desenvolver objetos gráficos padrão estendidos e criaremos uma funcionalidade que move os pontos de ancoragem de objetos gráficos compostos por meio de pontos de controle usados para gerir as coordenadas dos pontos de ancoragem do objeto gráfico em questão.
preview
Arbitragem triangular com previsões

Arbitragem triangular com previsões

Este artigo simplifica a arbitragem triangular, mostrando como usar previsões e softwares especializados para negociar moedas de forma mais inteligente, mesmo se você for novo no mercado. Pronto para negociar com expertise?
Como se tornar um bom programador (Parte 6): 9 hábitos para desenvolver de maneira produtiva
Como se tornar um bom programador (Parte 6): 9 hábitos para desenvolver de maneira produtiva

Como se tornar um bom programador (Parte 6): 9 hábitos para desenvolver de maneira produtiva

O resultado final do projeto não tem a ver apenas com a escrita de código. A minha experiência me ensinou a identificar certos hábitos que ajudam a melhorar a produtividade na hora de desenvolver. Mais tarde, falaremos sobre alguns deles neste artigo. Este artigo é uma leitura obrigatória destinada a todos que desejam melhorar suas habilidades na escrita de algoritmos complexos.
preview
Como desenvolver um sistema de negociação baseado no indicador Alligator

Como desenvolver um sistema de negociação baseado no indicador Alligator

Neste artigo, completaremos nossa série sobre como projetar um sistema de negociação baseado no indicador técnico mais popular. Nós aprenderemos como criar um sistema de negociação baseado no indicador Alligator.
preview
Simulação de mercado (Parte 02): Cross Order (II)

Simulação de mercado (Parte 02): Cross Order (II)

Diferente do que foi visto no artigo anterior, aqui vamos fazer o controle de seleção no Expert Advisor. Porém, esta não é uma solução ainda definitiva. Mas irá nos atender por hora. Então acompanhe o artigo para entender como implementar uma das soluções possíveis.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 56): objeto de indicador personalizado, obtenção de dados a partir de objetos-indicadores numa coleção

Trabalhando com séries temporais na biblioteca DoEasy (Parte 56): objeto de indicador personalizado, obtenção de dados a partir de objetos-indicadores numa coleção

Neste artigo, veremos a criação de um objeto de indicador personalizado para ser usado em Expert Advisors. Vamos modificar ligeiramente as classes da biblioteca e escrever métodos para receber dados desde objetos-indicadores em Expert Advisors.