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
MetaTrader 5 Global Optimizer: Uma Estrutura Profissional para Otimizar EAs por Grupos, Subgrupos e Critérios de Robustez

MetaTrader 5 Global Optimizer: Uma Estrutura Profissional para Otimizar EAs por Grupos, Subgrupos e Critérios de Robustez

Apresentamos uma metodologia para transformar a otimização de EAs no MetaTrader 5 em um fluxo organizado e auditável. A automação em Python cria .set e .ini, orquestra otimizações por grupos e subgrupos, compara cada etapa ao baseline e aplica rewind quando necessário. O leitor poderá escolher os melhores parâmetros considerando lucro, estabilidade, drawdown, trades, concentração de resultado e consistência em vários ativos.
preview
Do básico ao intermediário: Como bolhas de sabão

Do básico ao intermediário: Como bolhas de sabão

Neste artigo, será explicado um mecanismo muito simples e fácil de entender, cujo proposito seria o de gerar a ordenação de uma array, qualquer. Nele veremos que nem sempre o resultado apresentado é aquele que realmente esperamos obter. Sendo assim necessário adaptar a própria implementação a fim de conseguir obter os resultados adequado.
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
Otimização de nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoria

Otimização de nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoria

Este artigo é dedicado ao algoritmo meta-heurístico Atmosphere Clouds Model Optimization (ACMO), que modela o comportamento das nuvens para resolver problemas de otimização. O algoritmo utiliza os princípios de geração, movimento e dispersão de nuvens, adaptando-se às "condições climáticas" no espaço de soluções. O artigo explora como a simulação meteorológica do algoritmo encontra soluções ótimas em um espaço complexo de possibilidades e descreve detalhadamente as etapas do ACMO, incluindo a preparação do "céu", o nascimento das nuvens, seu deslocamento e a concentração de chuva.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 47): Aprendizado por reforço (algoritmo de diferenças temporais)

Recursos do Assistente MQL5 que você precisa conhecer (Parte 47): Aprendizado por reforço (algoritmo de diferenças temporais)

Temporal Difference (TD, diferenças temporais) é mais um algoritmo de aprendizado por reforço, que atualiza os valores Q com base na diferença entre as recompensas previstas e as recompensas reais durante o treinamento do agente. A ênfase está na atualização dos valores Q sem considerar necessariamente seus pares "estado-ação" (state-action). Como de costume, veremos como esse algoritmo pode ser aplicado em um EA, criado com a ajuda do Assistente.
preview
Do básico ao intermediário: Filas, Listas e Árvores (IV)

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

Neste artigo iremos finalizar a parte referente a implementação e explicação sobre o que seria uma lista encadeada. Porém a implementação mostrada aqui, não irá mostrar um certo detalhe que podemos fazer dentro de uma lista encadeada. Isto será visto futuramente em um outro artigo.
preview
Negociando opções sem opções (Parte 3): Estratégias complexas com opções

Negociando opções sem opções (Parte 3): Estratégias complexas com opções

São analisadas estratégias com opções para mercado lateral (não direcionais) e para mercado em tendência (direcionais), bem como sua implementação em MQL5. O EA desenvolvido no artigo anterior é aprimorado com a exibição dos níveis de opções. Agora é hora de analisar o funcionamento e implementar as estratégias que os traders de opções utilizam na prática.
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
Rede neural na prática: O caso da porta XOR

Rede neural na prática: O caso da porta XOR

Neste artigo tentarei mostrar a você, meu caro leitor, que nem tudo é como parece. Muitas das vezes somos levados a pensar que as coisas são de uma dada maneira, quando na verdade, podemos estar sendo levados a pensar algo que não necessariamente é verdade. Redes neurais, são de longe um dos assuntos mais interessantes em termos gerais. Tanto pelo ponto de vista matemático, eletrônico ou mesmo de software. Porém, diferente do que muitos acreditam ou pregam. Redes neurais não são nem de longe, a questão e solução definitiva. São apenas um ramo de pesquisa, no qual devemos sempre estar estudando e procurando nos informar sobre o que acontece nos bastidores.
preview
Dominando Operações de Arquivos em MQL5: Do I/O Básico à Construção de um Leitor CSV Personalizado

Dominando Operações de Arquivos em MQL5: Do I/O Básico à Construção de um Leitor CSV Personalizado

Este artigo aborda técnicas essenciais de manipulação de arquivos em MQL5, abrangendo logs de operações, processamento de CSV e integração de dados externos. Ele oferece tanto compreensão conceitual quanto orientação prática de codificação. Os leitores aprenderão a construir uma classe personalizada de importação CSV passo a passo, adquirindo habilidades práticas para aplicações reais.
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
MetaTrader 5 Global Optimizer II - Validação por Walk-Forward Efficiency

MetaTrader 5 Global Optimizer II - Validação por Walk-Forward Efficiency

Apresentamos a integração do Walk-Forward Efficiency ao fluxo do MetaTrader 5 Global Optimizer. A matéria cobre a configuração pelo wizard (janelas ISS/OSS, passo, candidatos), a marcação de parâmetros no .mq5 e a seleção a partir dos TOP sets. O resultado é um processo auditável de validação fora da amostra, com WFE%, métricas consolidadas e relatórios que ajudam a medir robustez e generalização.
preview
Rede neural na prática: Grafico da Rectifier

Rede neural na prática: Grafico da Rectifier

Construímos, em MQL5 puro, um indicador para plotar no gráfico uma função de ativação e sua derivada, tomando a ReLU como exemplo. Explicamos o impacto das derivadas na escolha da ativação e os cuidados com pontos não diferenciáveis. O leitor visualiza as curvas de forma interativa e obtém uma base prática para decidir quando usar ou não determinadas ativações.
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
Mapas auto-organizáveis de Kohonen em um EA MQL5

Mapas auto-organizáveis de Kohonen em um EA MQL5

Os mapas auto-organizáveis de Kohonen transformam o caos dos dados de mercado em um mapa bidimensional estruturado, no qual padrões semelhantes são agrupados. Este artigo apresenta uma implementação completa de SOM em um EA MQL5, com quatrocentos neurônios e treinamento contínuo. Analisamos o algoritmo de busca pela Best Matching Unit, a atualização dos pesos com uma função gaussiana de vizinhança, a integração com efeitos quânticos e a geração de sinais de trading. O código é aberto, a matemática é clara e os resultados podem ser verificados.
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
Trading algorítmico de arbitragem com teoria dos grafos

Trading algorítmico de arbitragem com teoria dos grafos

Neste artigo, tratamos a arbitragem triangular como um problema de busca de ciclos em um grafo orientado, no qual os vértices representam moedas e as arestas representam pares de moedas com pesos correspondentes às taxas de câmbio. Um ciclo lucrativo ocorre quando o produto dos pesos é > 1. Os algoritmos Floyd-Warshall e DFS que desenvolvemos encontram os caminhos ideais de conversão de moedas com retorno ao ponto inicial e geração de lucro.
preview
Redes neurais em trading: Extração eficiente de características para classificação precisa (Conclusão)

Redes neurais em trading: Extração eficiente de características para classificação precisa (Conclusão)

O framework Mantis transforma séries temporais complexas em tokens informativos e serve como uma base confiável para um Agente de trading inteligente, pronto para operar em tempo real.
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
Redes neurais em trading: Treinamento de modelos spiking profundos (SEW-ResNet)

Redes neurais em trading: Treinamento de modelos spiking profundos (SEW-ResNet)

Convidamos você a conhecer o framework SEW-ResNet, que permite construir modelos spiking profundos sem problemas de degradação e com controle eficiente dos gradientes. Neste artigo, demonstramos como implementar um neurônio spiking básico e seus algoritmos com MQL5.
preview
Redes neurais em trading: Modelo universal de geração de trajetórias (UniTraj)

Redes neurais em trading: Modelo universal de geração de trajetórias (UniTraj)

Compreender o comportamento de agentes é importante em diversas áreas, mas a maioria dos métodos se concentra em uma única tarefa (compreensão, remoção de ruído ou previsão), o que reduz sua eficácia em cenários reais. Neste artigo, apresento um modelo capaz de se adaptar à solução de diferentes tarefas.
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
Do básico ao intermediário: Indicadores técnicos (I)

Do básico ao intermediário: Indicadores técnicos (I)

Neste artigo veremos o básico sobre como utilizar indicadores técnicos que estão presentes e são mantidos pelo próprio MetaTrader 5. Saber, entender e conhecer este tipo de indicador pode vir a tornar seu trabalho de implementar algo, em uma tarefa muito mais simples, rápida e eficiente. Visto que você não precisa se preocupar com a parte referente aos cálculos a serem efetuados. A própria plataforma se encarrega de fazer isto para nós.
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
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
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
Redes neurais em trading: Redução de consumo de memória com o método de otimização Adam-mini

Redes neurais em trading: Redução de consumo de memória com o método de otimização Adam-mini

Uma das abordagens para aumentar a eficiência no treinamento e na convergência de modelos é aprimorar os métodos de otimização. O Adam-mini é um método adaptativo projetado para aprimorar o algoritmo base Adam.
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
Cliente no Connexus (Parte 7): Adicionando a camada de cliente

Cliente no Connexus (Parte 7): Adicionando a camada de cliente

Neste artigo, continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, criamos a classe CHttpClient, responsável por enviar a requisição e receber a ordem. Também abordamos o conceito de mocks, separando a biblioteca da função WebRequest, o que garante maior flexibilidade para os usuários.
preview
Redes neurais em trading: Ator–Diretor–Crítico (Conclusão)

Redes neurais em trading: Ator–Diretor–Crítico (Conclusão)

O framework Actor–Director–Critic representa uma evolução da arquitetura clássica de aprendizado por agentes. O artigo apresenta uma experiência prática de sua implementação e adaptação às condições dos mercados financeiros.
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: 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
Rede neural na prática: Gradiente Descendente

Rede neural na prática: Gradiente Descendente

Neste artigo, tentarei apresentar, de forma o mais simplificada e didática, quanto foi possível fazer, uma das questões mais controvérsias quando o assunto é rede neural. Que é justamente como procurar o melhor ponto possível, ou menor custo de uma função. Mostrarei a diferença que existe entre uma regressão linear e um gradiente descendente. Ambos casos bastante simples e voltados para mostrar que nem sempre o que parece obvio, realmente é o melhor caminho.
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
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: Sub Janelas (I)

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

Aqui iremos começar a ver como trabalhar com sub janelas no MetaTrader 5. Usando para isto o MQL5. Porém, como este é um assunto bem longo e com diversas coisas mais ou menos complicadas, devido a algumas questões práticas. Sendo assim faremos apenas uma breve a rápida introdução ao assunto. No entanto, apesar disto, é necessário que você entenda o que será mostrado neste artigo, meu caro leitor. Pois isto poderá fazer uma enorme diferença no seu futuro.
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
Redes neurais em trading: sinais de negociação robustos em qualquer regime de mercado (ST-Expert)

Redes neurais em trading: sinais de negociação robustos em qualquer regime de mercado (ST-Expert)

Neste artigo, vamos conhecer o framework ST-Expert, que torna as previsões robustas diante da incerteza do mercado, permitindo levar em conta dependências locais e globais em séries temporais. Sua arquitetura flexível favorece a adaptabilidade dos modelos e aumenta a precisão das previsões.
preview
Redes neurais em trading: Extração eficiente de características para classificação precisa (Construção de objetos)

Redes neurais em trading: Extração eficiente de características para classificação precisa (Construção de objetos)

Mantis é uma ferramenta universal para análise profunda de séries temporais, escalável de forma flexível para quaisquer cenários financeiros. Saiba como a combinação de patching, convoluções locais e atenção cruzada permite obter uma interpretação de alta precisão dos padrões de mercado.
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.