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
Desenvolvendo um sistema de Replay (Parte 57): Dissecando o serviço de testagem

Desenvolvendo um sistema de Replay (Parte 57): Dissecando o serviço de testagem

Neste artigo iremos dissecar o serviço de teste que foi visto no artigo anterior. Mas por conta que lá já havia muita informação, e não queria complicar a coisa toda com mais informações. Vamos fazer isto neste artigo daqui. Então se você não tem ideia de como o serviço que foi visto no artigo anterior, permitia que as coisas funcionassem daquela forma. Venha comigo neste artigo para compreender o que será base para os próximos artigos.
preview
Simulação de mercado (Parte 20): Iniciando o SQL (III)

Simulação de mercado (Parte 20): Iniciando o SQL (III)

Apesar de podermos fazer as coisas com um banco de dados, tendo cerca de 10 ou pouco mais registros. A coisa realmente se torna melhor assimilada, quando usamos um arquivo de banco de dados que contenha mais de 15 mil registros. Ou seja, se você for criar isto manualmente irá ser uma bela de uma tarefa. No entanto, dificilmente você irá encontrar algum banco de dados, mesmo para fins didáticos disponível para download. Mas não precisamos de fato recorrer a este tipo de coisa. Podemos usar o MetaTrader 5, para criar um banco de dados para nos. Neste artigo veremos como fazer isto.
preview
Redes neurais de maneira fácil (Parte 81): Análise da dinâmica dos dados considerando o contexto (CCMR)

Redes neurais de maneira fácil (Parte 81): Análise da dinâmica dos dados considerando o contexto (CCMR)

Em trabalhos anteriores, sempre avaliamos o estado atual do ambiente. No entanto, a dinâmica das mudanças dos indicadores sempre ficou "nos bastidores". Neste artigo, quero apresentar a vocês um algoritmo que permite avaliar a mudança direta dos dados entre dois estados consecutivos do ambiente.
preview
Redes neurais de maneira fácil (Parte 91): previsão na área de frequência (FreDF)

Redes neurais de maneira fácil (Parte 91): previsão na área de frequência (FreDF)

Continuamos a explorar a análise e previsão de séries temporais na área de frequência. E nesta matéria, apresentaremos um novo método de previsão nessa área, que pode ser adicionado a muitos dos algoritmos que já estudamos anteriormente.
preview
Redes neurais em trading: Aprendizado contextual com memória (MacroHFT)

Redes neurais em trading: Aprendizado contextual com memória (MacroHFT)

Apresento o framework MacroHFT, que aplica aprendizado por reforço contextual com memória para melhorar as decisões em trading de alta frequência de criptomoedas, utilizando dados macroeconômicos e agentes adaptativos.
preview
Desenvolvimento de um Kit de Ferramentas para análise de ação de preço (Parte 17): Ferramenta TrendLoom EA

Desenvolvimento de um Kit de Ferramentas para análise de ação de preço (Parte 17): Ferramenta TrendLoom EA

Como observador e trader de análise de preços, notei que quando uma tendência é confirmada por múltiplos períodos de tempo, ela geralmente continua nessa direção. O que pode variar é quanto tempo a tendência dura, e isso depende do tipo de trader que você é, se mantém posições no longo prazo ou realiza operações de scalping. Os prazos que você escolher para a confirmação desempenham um papel crucial. Confira este artigo para conhecer um sistema rápido e automatizado que ajuda você a analisar a tendência geral em diferentes períodos com apenas um clique ou atualizações regulares.
preview
Otimização e ajuste fino do código-fonte para melhorar os resultados do backtesting

Otimização e ajuste fino do código-fonte para melhorar os resultados do backtesting

Melhore seu código MQL5 otimizando a lógica, aprimorando os cálculos e reduzindo o tempo de execução para aumentar a precisão do backtesting. Ajuste finamente os parâmetros, otimize loops e elimine ineficiências para melhorar o resultado.
preview
Estratégia da Águia — Eagle Strategy (ES)

Estratégia da Águia — Eagle Strategy (ES)

Eagle Strategy é um algoritmo que imita a estratégia de caça em duas fases da águia: busca global por meio de voos de Lévy pelo método de Mantegna, alternada com intensificação local intensa do algoritmo de vaga-lumes, uma abordagem matematicamente fundamentada para o equilíbrio entre diversificação e intensificação, bem como um conceito bioinspirado que combina dois fenômenos naturais em um único método computacional.
preview
Redes neurais de maneira fácil (Parte 40): Abordagens para usar Go-Explore em uma grande quantidade de dados

Redes neurais de maneira fácil (Parte 40): Abordagens para usar Go-Explore em uma grande quantidade de dados

Neste artigo, discutiremos a aplicação do algoritmo Go-Explore ao longo de um período de treinamento prolongado, uma vez que uma estratégia de seleção aleatória de ações pode não levar a uma passagem lucrativa à medida que o tempo de treinamento aumenta.
preview
Do básico ao intermediário: Indicador (III)

Do básico ao intermediário: Indicador (III)

Neste artigo iremos ver como declarar diversos indicadores de plotagem, como DRAW_COLOR_LINE e DRAW_FILLING. Além é claro, aprender como plotar indicadores múltiplos de uma forma muito simples, prática e pouco trabalhosa. Agora que realmente pode mudar a sua forma de enxergar o MetaTrader 5 e o mercado em geral.
preview
Análise angular dos movimentos de preço: um modelo híbrido de previsão dos mercados financeiros

Análise angular dos movimentos de preço: um modelo híbrido de previsão dos mercados financeiros

O que é análise angular dos mercados financeiros? Como usar os ângulos de movimento de preço e o aprendizado de máquina para prever com precisão de 67? Como combinar um modelo de regressão e um modelo de classificação com características angulares e obter um algoritmo funcional? O que Gann tem a ver com isso? Por que os ângulos de movimento do preço são bons indicadores para o aprendizado de máquina?
preview
Gerenciamento de riscos (Parte 5): Integração do sistema de gerenciamento de riscos ao EA

Gerenciamento de riscos (Parte 5): Integração do sistema de gerenciamento de riscos ao EA

Neste artigo, implementaremos o sistema de gerenciamento de risco desenvolvido em publicações anteriores e adicionaremos o indicador Order Blocks apresentado em outros artigos. Além disso, será realizado um backtest para comparar os resultados com a aplicação do sistema de gerenciamento de risco e para avaliar o impacto do risco dinâmico.
preview
Formulando um EA Dinâmico de Múltiplos Pares (Parte 1): Correlação e Correlação Inversa entre Moedas

Formulando um EA Dinâmico de Múltiplos Pares (Parte 1): Correlação e Correlação Inversa entre Moedas

O Expert Advisor dinâmico de múltiplos pares utiliza estratégias de correlação e correlação inversa para otimizar o desempenho nas negociações. Ao analisar dados de mercado em tempo real, ele identifica e explora as relações entre os pares de moedas.
preview
Quantificação no aprendizado de máquina (Parte 1): Teoria, exemplo de código, análise da implementação no CatBoost

Quantificação no aprendizado de máquina (Parte 1): Teoria, exemplo de código, análise da implementação no CatBoost

Neste artigo, discutiremos a aplicação teórica da quantização ao construir modelos baseados em árvores. São examinados os métodos de quantização implementados no CatBoost. O material será apresentado em linguagem acessível, sem fórmulas matemáticas complexas.
preview
Redes neurais de maneira fácil (Parte 75): aumentando a produtividade dos modelos de previsão de trajetórias

Redes neurais de maneira fácil (Parte 75): aumentando a produtividade dos modelos de previsão de trajetórias

Os modelos que estamos criando estão se tornando cada vez maiores e mais complexos. Com isso, aumentam os custos não apenas para o treinamento, mas também para a operação. Além disso, muitas vezes nos deparamos com situações em que o tempo de tomada de decisão é crítico. E, por isso, voltamos nossa atenção para métodos de otimização de desempenho dos modelos sem perder qualidade.
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
Negociando com o Calendário Econômico MQL5 (Parte 4): Implementando Atualizações de Notícias em Tempo Real no Painel

Negociando com o Calendário Econômico MQL5 (Parte 4): Implementando Atualizações de Notícias em Tempo Real no Painel

Este artigo aprimora nosso painel do Calendário Econômico implementando atualizações de notícias em tempo real para manter as informações de mercado atuais e acionáveis. Integramos técnicas de busca de dados ao vivo no MQL5 para atualizar os eventos no painel continuamente, melhorando a capacidade de resposta da interface. Essa atualização garante que possamos acessar as últimas notícias econômicas diretamente do painel, otimizando as decisões de negociação com base nos dados mais recentes.
preview
Simulação de mercado: Position View (XIII)

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

Neste artigo, mostrarei como você, pode sem muito esforço, conseguir implementar a indicação se uma posição, está lhe dando prejuízo ou mesmo lucro. Isto de maneira extremamente simples e eficaz. Usando este indicador que estou mostrando como desenvolver, você, mesmo sem muito conhecimento, conseguirá facilmente saber quando é hora de fechar uma posição. E ao fazê-lo, não virá a ter um resultado diferente do esperado. Isto por que, estamos efetuando o calculo de forma a termos a real situação de nossa posição.
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
Como construir e otimizar um sistema de trading baseado em volume (Chaikin Money Flow - CMF)

Como construir e otimizar um sistema de trading baseado em volume (Chaikin Money Flow - CMF)

Neste artigo, forneceremos um indicador baseado em volume, o Chaikin Money Flow (CMF), após identificar como ele pode ser construído, calculado e utilizado. Vamos compreender como construir um indicador personalizado. Compartilharemos algumas estratégias simples que podem ser usadas e, em seguida, as testaremos para entender qual delas é melhor.
preview
Simulação de mercado (Parte 14): Sockets (VIII)

Simulação de mercado (Parte 14): Sockets (VIII)

Muitos poderiam sugerir, que deveríamos abandonar o Excel, e usar o Python pura e simplesmente. Fazendo uso de alguns pacotes que permitiriam ao Python criar um arquivo de Excel, para que pudéssemos analisar os resultados depois. Mas como foi dito no artigo anterior, apesar desta solução ser a mais simples, pelo ponto de vista de muitos programadores. Ela de fato, não será bem vista, pelos olhos de alguns usuários. E nesta história toda, o usuário tem sempre razão. Você como programador deve, encontrar alguma forma ou alguma maneira de fazer as coisas funcionarem.
preview
Redes neurais de maneira fácil (Parte 63): pré-treinamento do transformador de decisões não supervisionado (PDT)

Redes neurais de maneira fácil (Parte 63): pré-treinamento do transformador de decisões não supervisionado (PDT)

Continuamos nossa análise, desta vez, explorando a família de transformadores de decisão. Em trabalhos anteriores, já observamos que o treinamento do transformador subjacente à arquitetura desses métodos é bastante desafiador e requer uma grande quantidade de dados de treinamento rotulados. Neste artigo, consideramos um algoritmo para usar trajetórias não rotuladas com o objetivo de pré-treinar modelos.
preview
Como funções de cem anos atrás podem atualizar suas estratégias de trading

Como funções de cem anos atrás podem atualizar suas estratégias de trading

Neste artigo, vamos falar sobre as funções de Rademacher e Walsh. Vamos explorar formas de aplicar essas funções na análise de séries temporais financeiras, além de considerar diferentes maneiras de usá-las no trading.
preview
Mineração de dados da CFTC em Python e modelo de IA com base neles

Mineração de dados da CFTC em Python e modelo de IA com base neles

Vamos tentar minerar dados da CFTC, carregar os relatórios COT e TFF via Python, conectar isso às cotações do MetaTrader 5 e a um modelo de IA e obter previsões. O que são os relatórios COT no mercado Forex? Como usar os relatórios COT e TFF para previsão?
preview
Desenvolvendo um sistema de Replay (Parte 52): Complicando as coisas (IV)

Desenvolvendo um sistema de Replay (Parte 52): Complicando as coisas (IV)

Neste artigo vamos fazer uma mudança no indicador de mouse a fim de poder efetuar a interação com o indicador de controle, já que a interação está sendo feita de forma errática.
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.
preview
MQL5 Trading Toolkit (Parte 4): Desenvolvendo uma Biblioteca EX5 de Gerenciamento de Histórico

MQL5 Trading Toolkit (Parte 4): Desenvolvendo uma Biblioteca EX5 de Gerenciamento de Histórico

Aprenda a recuperar, processar, classificar, ordenar, analisar e gerenciar posições fechadas, ordens e históricos de negociações usando MQL5, criando uma ampla biblioteca EX5 de Gerenciamento de Histórico com um método detalhado passo a passo.
preview
Visualizações de negociações  no gráfico (Parte 1): Escolha do período para análise

Visualizações de negociações no gráfico (Parte 1): Escolha do período para análise

Estamos escrevendo do zero um script que facilitará a exportação de capturas de tela das negociações para a análise das entradas de trades. Será conveniente exibir todas as informações necessárias sobre uma negociação em um único gráfico, com a possibilidade de desenhar diferentes timeframes.
preview
Negociando com o Calendário Econômico MQL5 (Parte 2): Criando um Painel de Notícias

Negociando com o Calendário Econômico MQL5 (Parte 2): Criando um Painel de Notícias

Neste artigo, criamos um painel prático de notícias usando o Calendário Econômico MQL5 para aprimorar nossa estratégia de negociação. Começamos projetando o layout, focando em elementos-chave como nomes dos eventos, importância e horário, antes de avançar para a configuração dentro do MQL5. Por fim, implementamos um sistema de filtragem para exibir apenas as notícias mais relevantes, dando aos traders acesso rápido a eventos econômicos impactantes.
preview
Gestão de capital no trading e programa de contabilidade pessoal do trader com banco de dados

Gestão de capital no trading e programa de contabilidade pessoal do trader com banco de dados

Como um trader deve gerir seu capital? Como um trader e investidor deve controlar despesas, receitas, ativos e passivos? Eu vou apresentar não apenas um programa de controle, mas sim uma ferramenta que pode se tornar seu guia financeiro confiável no turbulento mar do trading.
preview
Simulação de mercado (Parte 04): Iniciando a classe C_Orders (I)

Simulação de mercado (Parte 04): Iniciando a classe C_Orders (I)

Neste artigo vamos começar a montar a classe C_Orders, para poder enviar pedidos ao servidor de negociação. Vamos fazer isto aos pouco. Já que o intuito será explicar o mais detalhadamente possível como isto será feito, via sistema de mensagens.
preview
Anotação de dados na análise de série temporal (Parte 5): Aplicação e teste de um EA usando Socket

Anotação de dados na análise de série temporal (Parte 5): Aplicação e teste de um EA usando Socket

Nesta série de artigos, apresentamos vários métodos de anotação de séries temporais que podem criar dados compatíveis com a maioria dos modelos de inteligência artificial (IA). A anotação precisa dos dados pode tornar o modelo de IA treinado mais alinhado com os objetivos e tarefas dos usuários, aumentar a precisão do modelo e até ajudar a alcançar uma melhoria significativa na qualidade!
preview
Ciência de dados e aprendizado de máquina (Parte 18): Comparando a eficácia do TruncatedSVD e NMF no tratamento de dados complexos de mercado

Ciência de dados e aprendizado de máquina (Parte 18): Comparando a eficácia do TruncatedSVD e NMF no tratamento de dados complexos de mercado

A decomposição em valores singulares truncada (TruncatedSVD) e a fatoração de matriz não negativa (NMF) são métodos de redução de dimensionalidade. Ambos podem ser bastante úteis ao trabalhar com estratégias de negociação baseadas na análise de dados. Neste artigo, analisamos a aplicabilidade desses métodos no processamento de dados complexos de mercado, incluindo suas capacidades de redução de dimensionalidade para otimizar a análise quantitativa nos mercados financeiros.
preview
Algoritmo da viagem evolutiva no tempo — Time Evolution Travel Algorithm (TETA)

Algoritmo da viagem evolutiva no tempo — Time Evolution Travel Algorithm (TETA)

Meu algoritmo original. Neste artigo é apresentado o Algoritmo da Viagem Evolutiva no Tempo (TETA), inspirado no conceito de universos paralelos e fluxos temporais. A ideia central do algoritmo é que, embora a viagem no tempo no sentido convencional seja impossível, podemos escolher uma sequência de eventos que leva a diferentes realidades.
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
Movimento do preço: modelos matemáticos e análise técnica

Movimento do preço: modelos matemáticos e análise técnica

A previsão dos movimentos dos pares de moedas é um fator importante de sucesso no trading. Este artigo é dedicado ao estudo de diferentes modelos de movimento do preço, à análise de suas vantagens e desvantagens, bem como à aplicação prática em estratégias de negociação. Serão considerados enfoques que permitem identificar padrões ocultos e aumentar a precisão das previsões.
preview
Reconhecimento de Padrões Usando Dynamic Time Warping em MQL5

Reconhecimento de Padrões Usando Dynamic Time Warping em MQL5

Neste artigo, discutimos o conceito de dynamic time warping como uma forma de identificar padrões preditivos em séries temporais financeiras. Veremos como ele funciona e também apresentaremos sua implementação em MQL5 puro.
preview
Do básico ao intermediário: Template e Typename (II)

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

Neste artigo será mostrado como lidar com uma das situações mais chatas e complicadas em termos de programação, que você poderá vir a enfrentar. O uso de tipos diferentes em um mesmo template de função ou procedimento. Apesar de aqui termos focado quase o tempo todo apenas em funções. Tudo que foi visto aqui, serve e pode ser aplicado a procedimentos.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 38): Bandas de Bollinger

Técnicas do MQL5 Wizard que você deve conhecer (Parte 38): Bandas de Bollinger

As Bandas de Bollinger são um indicador do tipo Envelope muito comum, utilizado por muitos traders para abrir e fechar operações manualmente. Vamos examinar esse indicador considerando o máximo possível dos diferentes sinais que ele pode gerar e ver como eles podem ser utilizados em um Expert Advisor montado com o wizard.
preview
Modelos polinomiais no trading

Modelos polinomiais no trading

Este artigo é dedicado aos polinômios ortogonais. Seu uso pode se tornar a base para uma análise mais precisa e eficaz das informações do mercado, permitindo que o trader tome decisões mais fundamentadas.