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
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
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
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
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
Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 5): Regras de Negociação Auto Adaptativas

Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 5): Regras de Negociação Auto Adaptativas

As melhores práticas, que definem como usar um indicador com segurança, nem sempre são fáceis de seguir. Condições de mercado calmas podem, surpreendentemente, produzir leituras no indicador que não se qualificam como um sinal de negociação, levando à perda de oportunidades para traders algorítmicos. Este artigo irá sugerir uma solução potencial para esse problema, à medida que discutimos como construir aplicações de negociação capazes de adaptar suas regras de negociação aos dados de mercado disponíveis.
preview
Redes neurais em trading: generalização de séries temporais sem vinculação a dados (Mamba4Cast)

Redes neurais em trading: generalização de séries temporais sem vinculação a dados (Mamba4Cast)

Neste artigo, conhecemos o framework Mamba4Cast e analisamos em detalhe um de seus componentes-chave, a codificação posicional baseada em marcas temporais. É mostrado como é formada a incorporação temporal levando em conta a estrutura de calendário dos dados.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 32): Regularização

Técnicas do MQL5 Wizard que você deve conhecer (Parte 32): Regularização

A regularização é uma forma de penalizar a função de perda em proporção ao peso discreto aplicado ao longo das várias camadas de uma rede neural. Vamos observar a importância de algumas formas de regularização e o impacto que isso pode ter em testes realizados com um Expert Advisor montado por um assistente.
preview
Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 31): Escolha da função de perda

Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 31): Escolha da função de perda

A função de perda (Loss Function) é uma métrica fundamental nos algoritmos de aprendizado de máquina, que fornece feedback para o processo de aprendizado ao quantificar o quão bem um determinado conjunto de parâmetros se comporta em comparação com o valor-alvo esperado. Vamos explorar os diferentes formatos dessa função na classe personalizada do Assistente MQL5.
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
Redes neurais em trading: Previsão probabilística de séries temporais (Conclusão)

Redes neurais em trading: Previsão probabilística de séries temporais (Conclusão)

Apresentamos a você o framework K²VAE e uma variante de como integrar as abordagens propostas a um sistema de trading. Você verá como a abordagem híbrida Koopman-Kalman-VAE ajuda a construir modelos adaptativos e interpretáveis. Ao final do artigo, veremos os resultados práticos obtidos com as soluções implementadas.
preview
Do básico ao intermediário: Sub Janelas (II)

Do básico ao intermediário: Sub Janelas (II)

O artigo aprofunda o uso de sub janelas no MetaTrader 5, mostrando como a direção do cálculo em OnCalculate afeta buffers e a plotagem de médias. Explica na prática o encadeamento de indicadores com FIRST INDICATOR’S DATA e PREVIOUS INDICATOR’S DATA, o impacto na remoção em cadeia e o comportamento de indicatorseparatewindow. O leitor aprende a diagnosticar falhas de exibição e a estruturar indicadores que funcionam corretamente em sub janelas.
preview
Redes neurais em trading: Framework de previsão cross-domain de séries temporais (Conclusão)

Redes neurais em trading: Framework de previsão cross-domain de séries temporais (Conclusão)

Este artigo é dedicado à construção prática do modelo TimeFound para previsão de séries temporais. São abordadas as principais etapas de implementação das abordagens centrais do framework utilizando os recursos do MQL5.
preview
Análise espectral singular em MQL5

Análise espectral singular em MQL5

Este artigo serve como guia para quem ainda não conhece o conceito de análise espectral singular e deseja adquirir conhecimento suficiente para aplicar as ferramentas integradas disponíveis em MQL5.
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
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
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
Do básico ao intermediário: Sobrecarga de operadores (I)

Do básico ao intermediário: Sobrecarga de operadores (I)

Neste artigo começaremos a ver como seria a implementação da chamada sobrecarga de operadores. Iremos começar vendo a motivação por detrás de tal implementação. Assim como também veremos que nem sempre as coisas são tão complicadas como parecem.
preview
Rede neural na prática: Gradiente

Rede neural na prática: Gradiente

O artigo explica por que e como o gradiente é usado no treinamento de um perceptron, partindo do erro de mínimo quadrado e da regra da cadeia para obter as derivadas parciais. Mostramos a implementação do cálculo do gradiente na classe C_Neuron em MQL5 e validamos com exemplos de 1 e 2 entradas. Você aprenderá a ajustar pesos e viés por gradiente descendente e se preparar para forward e back propagation.
preview
Do básico ao intermediário: Sobrecarga de operadores (VI)

Do básico ao intermediário: Sobrecarga de operadores (VI)

Aqui iremos implementar a exclusão via sobrecarga de operador. E este com toda a certeza será um artigo, no qual muitos precisaram estudar por um longo período. Isto a fim de conseguir assimilar tudo o que será mostrado aqui. Mas quero lembrar a você, que o que veremos aqui, será apenas uma pequena e insignificante parte de tudo aquilo que é chamado programação.
preview
Algoritmo do Duelista - Duelist Algorithm

Algoritmo do Duelista - Duelist Algorithm

E se as suas estratégias de trading pudessem aprender umas com as outras, como verdadeiros combatentes? O Duelist Algorithm é um novo método de otimização em que os parâmetros dos sistemas de trading realmente duelam entre si pelo direito de serem chamados os melhores.
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
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
Algoritmo do mercado acionário: Exchange Market Algorithm (EMA)

Algoritmo do mercado acionário: Exchange Market Algorithm (EMA)

O artigo é dedicado a uma análise detalhada do algoritmo Exchange Market Algorithm (EMA), inspirado no comportamento de traders no mercado acionário. O algoritmo modela o processo de negociação de ações, em que participantes do mercado com diferentes níveis de sucesso aplicam estratégias variadas para maximizar o lucro.
preview
Classes de tabela e cabeçalho baseadas no modelo de tabela em MQL5: Aplicação do conceito MVC

Classes de tabela e cabeçalho baseadas no modelo de tabela em MQL5: Aplicação do conceito MVC

Esta é a segunda parte do artigo dedicada à implementação de um modelo de tabela em MQL5, utilizando o paradigma arquitetural MVC (Model-View-Controller). O artigo aborda o desenvolvimento das classes da tabela e de seu cabeçalho, com base no modelo de tabela criado anteriormente. As classes desenvolvidas servirão como base para a futura implementação dos componentes de visualização (View) e controle (Controller), que serão abordados nos próximos artigos.
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
Do básico ao intermediário: Sobrecarga de operadores (IV)

Do básico ao intermediário: Sobrecarga de operadores (IV)

Neste artigo faremos uma primeira abordagem a fim de trabalhar e demonstrar como podemos implementar a sobrecarga do operador subscrito e também do operador de atribuição. Tentando com isto trazer uma abordagem prática e que fosse interessante para todos. Porém o que será visto aqui, é apenas uma parte daquilo que pretendo ainda mostrar e que está diretamente ligado a sobrecarga de tais operadores.
preview
Redes neurais em trading: Previsão probabilística de série temporal (K2VAE)

Redes neurais em trading: Previsão probabilística de série temporal (K2VAE)

Apresentamos a implementação original do framework K²VAE, um modelo flexível capaz de aproximar linearmente dinâmicas complexas no espaço latente. Este artigo mostra como implementar os componentes principais na linguagem MQL5, incluindo matrizes parametrizadas e seu gerenciamento fora das camadas padrão de redes neurais. Este material será útil para todos os que procuram uma abordagem prática para criar modelos interpretáveis de séries temporais.
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
Criação de classes Python para trading no MetaTrader 5, análogas às apresentadas em MQL5

Criação de classes Python para trading no MetaTrader 5, análogas às apresentadas em MQL5

O pacote Python MetaTrader 5 oferece uma maneira simples de criar aplicativos de trading para a plataforma MetaTrader 5 na linguagem Python. Embora seja um módulo poderoso e útil, ele não é tão simples quanto a linguagem de programação MQL5 quando se trata de desenvolver soluções para trading algorítmico. Neste artigo, criaremos classes para trading análogas às oferecidas pela linguagem MQL5, a fim de criar uma sintaxe semelhante e tornar o desenvolvimento de robôs de trading em Python tão simples quanto em MQL5.
preview
Rede neural na prática: Funções de ativação

Rede neural na prática: Funções de ativação

Este com toda a certeza, foi o artigo do qual mais me agradou ter escrito até o momento sobre este tema. Visto que nele de fato mostrei que não precisamos de grandes coisas, ou de algo específico para atingir um dado objetivo. Este pode ser alcançado de maneiras diferentes, desde é claro você tenha o conhecimento adequado e a boa vontade de estudar e se dedicar a algo. Agradeço de coração a todos que me ajudaram na parte sobre quais funções escolher. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 34): Embedding de Preços com um RBM Não Convencional

Técnicas do MQL5 Wizard que você deve conhecer (Parte 34): Embedding de Preços com um RBM Não Convencional

Máquinas de Boltzmann Restritas são uma forma de rede neural que foi desenvolvida no meio da década de 1980, numa época em que os recursos computacionais eram extremamente caros. No início, ela dependia de Gibbs Sampling e Divergência Contrastiva para reduzir a dimensionalidade ou capturar as probabilidades/propriedades ocultas sobre os conjuntos de dados de treinamento de entrada. Examinamos como o Backpropagation pode realizar de forma similar quando o RBM 'embebe' os preços para um Multi-Layer-Perceptron de previsão.
preview
Do básico ao intermediário: Sub Janelas (IV)

Do básico ao intermediário: Sub Janelas (IV)

Neste artigo iremos ver que nem tudo é como muitos pensam ser no inicio. Uma das coisas mais interessantes em utilizar a programação é o fato de que podemos garantir que as coisas sempre serão da forma como as planejamos. Então leiam este artigo com atenção, para que possam aprender alguns dos conceitos mais confusos envolvidos no uso de sub janelas. Se você entender o que será explicado aqui, irá conseguir fazer compreender diversas coisas que iremos fazer futuramente.
preview
Rede neural na prática: Iniciando a corrente

Rede neural na prática: Iniciando a corrente

Chegou a hora de começarmos a ver e entender como ligar perceptrons em uma cadeia. Isto a fim de conseguir implementar o que conhecemos como sendo rede perceptron. Esta rede é a base de tudo aquilo que você conhece e utiliza como sendo algum tipo de "inteligência artificial". Mas construir tal rede envolve diversos desafios. Aqui vamos começar a ver que desafios são estes.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 35): Regressão por Vetores de Suporte

Técnicas do MQL5 Wizard que você deve conhecer (Parte 35): Regressão por Vetores de Suporte

A Regressão por Vetores de Suporte é uma maneira idealista de encontrar uma função ou 'hiperplano' que melhor descreva a relação entre dois conjuntos de dados. Tentamos explorar isso na previsão de séries temporais dentro das classes personalizadas do MQL5 wizard.
preview
Rede neural na prática: Uma questão de escala

Rede neural na prática: Uma questão de escala

Existe uma falsa sensação por parte do grande público, de que uma rede neural, ou inteligência artificial, consegue de alguma forma compreender o mundo em que vivemos. Isto em alguns casos pode até ser verdade. Mas você, que deseja fazer com que uma rede neural, ou mesmo um neurônio, possa conseguir convergir mais rápido. Precisa entender que a escala usada nos valores, em muitas das vezes acaba influenciando a velocidade de convergência. Além disto, neste artigo, irei mostrar algo bizarro que acontece em redes neurais. Algo que vai te levar a loucura, e a se questionar sobre o tema.
preview
Componente View para tabelas no paradigma MVC em MQL5: elemento gráfico básico

Componente View para tabelas no paradigma MVC em MQL5: elemento gráfico básico

O artigo analisa o processo de desenvolvimento de um elemento gráfico básico para o componente View no contexto da implementação de tabelas no paradigma MVC (Model-View-Controller) na linguagem MQL5. Este é o primeiro artigo dedicado ao componente View e o terceiro da série de artigos sobre a criação de tabelas para o terminal cliente MetaTrader 5.
preview
Algoritmo do Átomo Artificial — Artificial Atom Algorithm (A3)

Algoritmo do Átomo Artificial — Artificial Atom Algorithm (A3)

Implementação do algoritmo A3 em MQL5, um método metaheurístico de otimização inspirado em processos químicos. Com apenas 2 parâmetros ajustáveis, sua estrutura compacta e a pequena população garantem alta velocidade de execução com qualidade satisfatória das soluções.
preview
Aprendendo MQL5 do iniciante ao profissional (Parte VII): Princípios de depuração de aplicativos MQL

Aprendendo MQL5 do iniciante ao profissional (Parte VII): Princípios de depuração de aplicativos MQL

A correção de erros é uma parte indispensável do ciclo de programação. Neste artigo, veremos técnicas comuns de depuração, que é o processo de correção de erros, em qualquer aplicativo executado no ambiente MetaTrader 5.
preview
Componentes View e Controller para tabelas no paradigma MVC em MQL5: Elementos de controle simples

Componentes View e Controller para tabelas no paradigma MVC em MQL5: Elementos de controle simples

No artigo são analisados elementos de controle simples como partes constituintes de elementos gráficos mais complexos do componente View no contexto da implementação de tabelas no paradigma MVC (Model-View-Controller). Foi implementado o funcional básico do componente Controller para a interação interativa dos elementos com o usuário e entre si. Este é o segundo artigo dedicado ao componente View e o quarto da série de artigos sobre a criação de tabelas para o terminal cliente MetaTrader 5.
preview
Redes neurais em trading: Pipeline inteligente de previsões (Conclusão)

Redes neurais em trading: Pipeline inteligente de previsões (Conclusão)

Este artigo mostrará de forma envolvente como o embedding SwiGLU revela padrões ocultos do mercado, e como a mistura esparsa de especialistas dentro do Decoder-Only Transformer torna as previsões mais precisas com custos computacionais razoáveis. Analisamos detalhadamente a integração do Time-MoE em MQL5 e OpenCL, descrevendo passo a passo a configuração e o treinamento do modelo.