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
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
Processos gaussianos em machine learning (Parte 2): Implementação e teste do modelo de classificação em MQL5

Processos gaussianos em machine learning (Parte 2): Implementação e teste do modelo de classificação em MQL5

Nesta parte, analisaremos a implementação das interfaces principais da biblioteca de processos gaussianos em MQL5: IKernel, ILikelihood e IInference. Também demonstraremos seu funcionamento com dados sintéticos e escreveremos indicadores de classificação e regressão que mostrem sua operação em regime online, com retreinamento do modelo a cada nova barra.
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
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
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
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
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
Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Teoria

Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Teoria

Os segredos da otimização eficiente de estratégias de trading em abordagens metaheurísticas. Community of Scientist Optimization é um novo algoritmo populacional inspirado nos mecanismos de funcionamento da comunidade de cientistas. Diferentemente das metáforas naturais tradicionais, o CoSO modela aspectos únicos da atividade científica humana: a publicação de resultados em periódicos, a competição por financiamentos de pesquisa e a formação de grupos de pesquisa.
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
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
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (IV) - Análise de mercado com modelos hospedados localmente usando IA

Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (IV) - Análise de mercado com modelos hospedados localmente usando IA

Na discussão de hoje, veremos como hospedar localmente modelos de inteligência artificial de código aberto e usá-los para obter informações sobre o mercado. Isso faz parte dos nossos esforços contínuos para expandir o EA "Manchetes de Notícias" com a implementação da seção "Análise de inteligência artificial" (AI Insights), que transforma o EA em uma ferramenta auxiliar com múltiplas integrações. O EA atualizado foi projetado para informar os traders sobre eventos do calendário, as notícias financeiras mais recentes, indicadores técnicos e, agora, também sobre perspectivas de mercado geradas por inteligência artificial, oferecendo, assim, suporte oportuno, diversificado e inteligente à tomada de decisões de trading. Acompanhe esta conversa, na qual veremos estratégias práticas de integração e como o MQL5 pode interagir com recursos externos para criar um terminal de trading poderoso e inteligente.
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
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
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
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
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
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: Objetos e sub janelas (I)

Do básico ao intermediário: Objetos e sub janelas (I)

O artigo detalha a criação e o posicionamento do objeto OBJ_CHART dentro de sub janelas, destacando nuances entre janela principal e subjanelas. Mostra como integrar indicadores com recursos (#resource, ChartIndicatorAdd) e identificar a sub janela correta por meio do nome curto do indicador. O resultado é um código mais estável, portátil e fácil de reutilizar.
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
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
Ciência de Dados e ML (Parte 33): Dataframe do Pandas em MQL5, Coleta de Dados para Uso em ML facilitada

Ciência de Dados e ML (Parte 33): Dataframe do Pandas em MQL5, Coleta de Dados para Uso em ML facilitada

Ao trabalhar com modelos de aprendizado de máquina, é essencial garantir consistência nos dados usados para treinamento, validação e testes. Neste artigo, criaremos nossa própria versão da biblioteca Pandas em MQL5 para garantir uma abordagem unificada para o tratamento de dados de aprendizado de máquina, assegurando que os mesmos dados sejam aplicados dentro e fora do MQL5, onde ocorre a maior parte do treinamento.
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.
preview
Ciência de Dados e ML (Parte 34): Decomposição de séries temporais, desmembrando o mercado de ações até o núcleo

Ciência de Dados e ML (Parte 34): Decomposição de séries temporais, desmembrando o mercado de ações até o núcleo

Em um mundo repleto de dados ruidosos e imprevisíveis, identificar padrões significativos pode ser desafiador. Neste artigo, exploraremos a decomposição sazonal, uma poderosa técnica analítica que ajuda a separar os dados em seus principais componentes: tendência, padrões sazonais e ruído. Ao decompor os dados dessa forma, podemos revelar insights ocultos e trabalhar com informações mais limpas e interpretáveis.
preview
Introdução às curvas ROC (Receiver Operating Characteristic)

Introdução às curvas ROC (Receiver Operating Characteristic)

As curvas ROC são representações gráficas utilizadas para avaliar o desempenho de classificadores. Apesar de os gráficos ROC serem relativamente simples, existem equívocos e armadilhas comuns ao utilizá-los na prática. Este artigo tem como objetivo fornecer uma introdução aos gráficos ROC como uma ferramenta para profissionais que buscam compreender a avaliação de desempenho de classificadores.
preview
Critério de Independência de Hilbert-Schmidt (HSIC)

Critério de Independência de Hilbert-Schmidt (HSIC)

O artigo examina o teste estatístico não paramétrico HSIC (Hilbert-Schmidt Independence Criterion) destinado a identificar dependências lineares e não lineares nos dados. São propostas implementações de dois algoritmos para o cálculo do HSIC na linguagem MQL5: o teste exato por permutação e a aproximação gama. A eficácia do método é demonstrada em dados sintéticos que modelam uma relação não linear entre os atributos e a variável-alvo.
preview
Redes neurais em trading: Segmentação periódica adaptativa (Conclusão)

Redes neurais em trading: Segmentação periódica adaptativa (Conclusão)

Propomos mergulhar no fascinante mundo do LightGTS, um framework leve, porém poderoso, para previsão de séries temporais, no qual a convolução adaptativa e a codificação RoPE se combinam com métodos inovadores de atenção. Em nosso artigo você encontrará uma descrição detalhada de todos os componentes, desde a criação de patches até a complexa mistura de especialistas no decodificador, prontos para integração em projetos MQL5. Descubra como o LightGTS leva o trading automatizado a um novo nível.
preview
Do básico ao intermediário: Filas, Listas e Árvores (VIII)

Do básico ao intermediário: Filas, Listas e Árvores (VIII)

Neste artigo veremos como implementar um algoritmo de balanceamento da árvore. O que será visto aqui, é a minha proposta para este tipo de mecanismo. Existem diversos outros mecanismos com o mesmo tipo de objetivo. Porém cada um tem seus problemas e suas vantagens. Depende de você, meu caro leitor, estudar e procurar encontrar o que melhor irá lhe atender.
preview
Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização de Código (III): Módulo de Comunicação

Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização de Código (III): Módulo de Comunicação

Junte-se a nós para uma discussão aprofundada sobre os mais recentes avanços no design de interfaces em MQL5 enquanto apresentamos o Painel de Comunicações redesenhado e continuamos nossa série sobre a construção do Novo Painel de Administração utilizando princípios de modularização. Desenvolveremos a classe CommunicationsDialog passo a passo, explicando detalhadamente como herdá-la da classe Dialog. Além disso, utilizaremos arrays e a classe ListView em nosso desenvolvimento. Obtenha insights práticos para elevar suas habilidades em desenvolvimento MQL5 — leia o artigo e participe da discussão na seção de comentários!
preview
Do básico ao intermediário: Sobrecarga de operadores (III)

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

Neste artigo será demonstrado como podemos implementar a sobrecarga tanto de operadores lógicos como também de operadores relacionais. Fazer isto demanda um certo cuidado e uma boa dose de atenção. Já que um simples deslize durante a implementação do que será a sobrecarga de tais operadores, pode vir a pôr todo um código em condição de ser totalmente jogado no lixo. Já que se a sobrecarga vier a ter problemas. Toda uma base de dados criada em cima dos resultados gerados pelo seu código deverá ser completamente descartada, ou no mínimo totalmente revisada.
preview
WebSocket para MetaTrader 5: conexões assíncronas no lado do cliente usando a API do Windows

WebSocket para MetaTrader 5: conexões assíncronas no lado do cliente usando a API do Windows

Neste artigo, descreve-se em detalhe o desenvolvimento de uma biblioteca DLL personalizada, destinada a simplificar conexões assíncronas no lado do cliente pelo protocolo WebSocket para programas MetaTrader.
preview
Do iniciante ao especialista: Sistema de análise autogeométrica

Do iniciante ao especialista: Sistema de análise autogeométrica

Os padrões geométricos oferecem aos traders uma forma concisa de interpretar o movimento dos preços. Muitos analistas desenham linhas de tendência, retângulos e outras figuras manualmente e, em seguida, baseiam suas decisões de negociação nas formações que enxergam. Neste artigo, examinaremos uma alternativa automatizada: o uso de MQL5 para detectar e analisar os padrões geométricos mais populares. Vamos detalhar a metodologia, discutir os detalhes da implementação e mostrar como o reconhecimento automático de padrões pode aprimorar a compreensão do mercado pelo trader.
preview
Do básico ao intermediário: Sobrecarga de operadores (V)

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

Neste artigo iremos ver como podemos manipular um código a fim de implementar algo completamente diferente daquilo que muitos acreditam ser possível ser feito no MQL5. Uma observação importante: Para entender de maneira adequada o que será visto aqui, é necessário que os conceitos vistos nos artigos anteriores tenham sido devidamente compreendidos.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 55): SAC com Prioritized Experience Replay

Técnicas do MQL5 Wizard que você deve conhecer (Parte 55): SAC com Prioritized Experience Replay

Buffers de replay em Aprendizado por Reforço são particularmente importantes com algoritmos off-policy como DQN ou SAC. Isso coloca em destaque o processo de amostragem desse buffer de memória. Enquanto as opções padrão com SAC, por exemplo, utilizam seleção aleatória desse buffer, o Prioritized Experience Replay ajusta esse processo ao realizar amostragem com base em um score TD. Revisamos a importância do Aprendizado por Reforço e, como sempre, examinamos apenas essa hipótese (não a validação cruzada) em um Expert Advisor montado com o wizard.
preview
Redes neurais no trading: uma visão unificada sobre espaço e tempo (Extralonger)

Redes neurais no trading: uma visão unificada sobre espaço e tempo (Extralonger)

O framework Extralonger demonstra uma abordagem para integrar fatores espaciais e temporais em um único modelo, permitindo considerar simultaneamente padrões locais e ciclos de longo prazo. Essa arquitetura torna a previsão de séries temporais mais robusta ao ruído de mercado e abre a possibilidade de analisar dados em diferentes horizontes. Neste artigo, examinamos em detalhes como implementar essas ideias na prática com OpenCL e MQL5.
preview
Aplicação de métodos de ensemble para tarefas de classificação em MQL5

Aplicação de métodos de ensemble para tarefas de classificação em MQL5

Neste artigo, apresentamos a implementação de vários classificadores em ensemble na linguagem MQL5 e analisamos sua eficiência em diferentes situações.
preview
Redes neurais em trading: Previsão probabilística de séries temporais (Codificador)

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

Apresentamos uma nova abordagem que combina métodos clássicos e redes neurais modernas para a análise de séries temporais. O artigo descreve detalhadamente a arquitetura e os princípios de funcionamento do modelo K²VAE.
preview
Uma Nova Abordagem para Critérios Personalizados em Otimizações (Parte 1): Exemplos de Funções de Ativação

Uma Nova Abordagem para Critérios Personalizados em Otimizações (Parte 1): Exemplos de Funções de Ativação

O primeiro de uma série de artigos que analisam a matemática dos Critérios Personalizados com foco específico em funções não lineares usadas em Redes Neurais, código MQL5 para implementação e o uso de offsets direcionados e corretivos.
preview
Dominando registros de log (Parte 2): Formatação dos logs

Dominando registros de log (Parte 2): Formatação dos logs

Neste artigo, estudaremos a criação e aplicação de programas de formatação para bibliotecas de logs. Examinaremos todas as etapas, desde a estrutura básica de um programa de formatação até exemplos práticos de implementação. Ao final do artigo, você terá todo o conhecimento necessário para realizar a formatação de logs dentro de uma biblioteca e entenderá como tudo funciona nos bastidores.
preview
Dominando Registros de Log (Parte 4): Salvando logs em arquivos

Dominando Registros de Log (Parte 4): Salvando logs em arquivos

Neste artigo, ensinarei operações básicas com arquivos e como configurar um handler flexível para personalização. Atualizaremos a classe CLogifyHandlerFile para gravar logs diretamente no arquivo. Realizaremos um teste de desempenho simulando uma estratégia no EURUSD por uma semana, gerando logs a cada tick, com um tempo total de 5 minutos e 11 segundos. O resultado será comparado em um artigo futuro, onde implementaremos um sistema de cache para melhorar o desempenho.
preview
Processos gaussianos em machine learning (Parte 1): modelo de classificação em MQL5

Processos gaussianos em machine learning (Parte 1): modelo de classificação em MQL5

Neste artigo, analisaremos o modelo de classificação com processos gaussianos. Iniciaremos com o estudo de seus princípios teóricos e, posteriormente, desenvolveremos uma biblioteca de PG em MQL5.