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
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
Simulação de mercado: Position View (XVIII)

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

Neste artigo, mostrei da forma o mais didática possível. Como você pode conseguir modificar e gerar um código que seja capaz de cumprir alguns objetivos. Isto modificando o mínimo possível um código já existente. Iremos adicionar um indicador de volume, ao mesmo tempo impedir que o usuário ou operador venha a remover objetos criados pelo indicador de posição.
preview
Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 29): Taxas de aprendizado e perceptrons multicamadas

Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 29): Taxas de aprendizado e perceptrons multicamadas

Estamos concluindo a análise da sensibilidade da taxa de aprendizado ao desempenho do EA, estudando taxas de aprendizado adaptáveis Essas taxas devem ser ajustadas para cada parâmetro da camada durante o treinamento, por isso precisamos avaliar os potenciais benefícios em relação às perdas esperadas no desempenho.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 43): Aprendizado por reforço com SARSA

Recursos do Assistente MQL5 que você precisa conhecer (Parte 43): Aprendizado por reforço com SARSA

O SARSA (State-Action-Reward-State-Action, estado–ação–recompensa–estado–ação) é outro algoritmo que pode ser utilizado na implementação de aprendizado por reforço. Vamos analisar como esse algoritmo pode ser implementado como um modelo independente (e não apenas como um mecanismo de aprendizado) em Expert Advisors gerados no Wizard, de forma semelhante ao que fizemos nos casos de Q-learning e DQN.
preview
Do básico ao intermediário: Filas, Listas e Árvores (V)

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

Neste artigo começamos a trabalhar com a implementação do mecanismo de árvore. Como sei que este mecanismo pode ser extremamente complicado de ser compreendido e assimilado, no começo do aprendizado. Iremos implementar as coisas com calma e devagar. Assim todos irão conseguir entender como uma árvore funciona e qual o melhor momento para utiliza-la.
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
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: Filas, Listas e Árvores (II)

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

Este é um artigo do qual você meu caro leitor, deverá estudar com muita calma. Isto devido ao tipo de coisa que será explicado nele. Apesar de termos procurando manter as coisas o mais simples e didáticas quanto foi possível ser feito. O conteúdo apresentado aqui, é sem sobra de dúvida algo muito complicado para quem está iniciando na programação. Mas isto não é motivo para que você venha a desanimar ou ignorar o que está sendo explicado aqui. Já que este artigo fará um elo, entre dois assuntos completamente diferentes, porém intimamente ligados.
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
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
Do básico ao intermediário: FileSave e FileLoad

Do básico ao intermediário: FileSave e FileLoad

Neste artigo será explicado e explorado algumas formas de lidar com as funções de biblioteca FileSave e FileLoad. Apesar de muita gente, as considerar pouco promissoras, devido a algumas limitações ou dificuldades que as mesmas nos gera em alguns tipos de cenários. Entender da forma correta como estas duas funções trabalham, podem lhe poupar muito trabalho em certos momento. Além é claro, das mesmas, serem uma ótima forma de promover arquivos de log.
preview
Repensando Estratégias Clássicas (Parte 14): Configurações de Alta Probabilidade

Repensando Estratégias Clássicas (Parte 14): Configurações de Alta Probabilidade

As configurações de alta probabilidade são bem conhecidas em nossa comunidade de trading, mas, infelizmente, não são bem definidas. Neste artigo, buscaremos encontrar uma maneira empírica e algorítmica de definir exatamente o que é uma configuração de alta probabilidade, identificá-la e explorá-la. Utilizando Gradient Boosting Trees, demonstramos como o leitor pode melhorar o desempenho de uma estratégia de trading arbitrária e comunicar melhor ao nosso computador a tarefa exata a ser executada, de maneira mais significativa e explícita.
preview
Simulação de mercado: Position View (XI)

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

Neste artigo, mostrarei como você, meu caro e estimado leitor, pode sem muito esforço. Conseguir modificar o indicador de posição a fim de que ele venha a ser capaz de fazer bem mais coisas, do que originalmente era capaz de fazer. Veremos como incluir a capacidade de podermos mover tanto os preços, quanto também criar as linhas de preço. E isto diretamente no gráfico. Algo que muitos imaginariam ser extremamente complicado e de difícil solução. Porém você notará que faremos tudo isto, com muita facilidade e com um mínimo de esforço. Tudo que será preciso fazer é parar e pensar um pouco.
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
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
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
Análise espectral singular unidimensional

Análise espectral singular unidimensional

O artigo aborda os aspectos teóricos e práticos do método de análise espectral singular (SSA), que constitui um método eficaz de análise de séries temporais e permite representar a estrutura complexa da série como uma decomposição em componentes simples, tais como tendência, oscilações sazonais (periódicas) e ruído.
preview
Robô de trading baseado em redes neurais com arquitetura Mamba e SSM seletivo

Robô de trading baseado em redes neurais com arquitetura Mamba e SSM seletivo

Este artigo analisa a revolucionária arquitetura de rede neural Mamba/SSM para a previsão de séries temporais financeiras. Ele apresenta uma implementação completa em MQL5 de uma alternativa moderna ao Transformer, que possui complexidade linear O(N) em vez de quadrática O(N²). Além disso, o texto examina detalhadamente os modelos de espaço de estado seletivos, as otimizações orientadas ao hardware, as técnicas de patching e os métodos avançados de treinamento com AdamW. O artigo inclui resultados práticos de testes que mostram um aumento da precisão de 62% para 71% e uma redução do tempo de treinamento de 45 para 8 minutos. Também é apresentado um Expert Advisor pronto para uso, com treinamento automático e gestão de risco adaptativa para MetaTrader 5.
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
Do básico ao intermediário: Filas, Listas e Árvores (III)

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

Neste artigo iremos dar o que será o próximo passo a fim de implementar e entender o que seria e como funciona uma lista encadeada. Apesar do conteúdo aqui, ser de certa maneira bastante denso e confuso para quem está iniciando. Procurei deixar as coisas o mais didática possível. Assim, você conseguirá entender por que e quando usar uma lista encadeada.
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
Técnicas do MQL5 Wizard que você deve conhecer (Parte 54): Aprendizado por Reforço com SAC híbrido e Tensores

Técnicas do MQL5 Wizard que você deve conhecer (Parte 54): Aprendizado por Reforço com SAC híbrido e Tensores

Soft Actor Critic é um algoritmo de Aprendizado por Reforço que analisamos em um artigo anterior, onde também introduzimos Python e ONNX nesta série como abordagens eficientes para treinar redes. Retomamos o algoritmo com o objetivo de explorar tensores, grafos computacionais que frequentemente são utilizados em Python.
preview
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 19): Analisador ZigZag

Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 19): Analisador ZigZag

Todo trader de avaliação da ação do preço utiliza manualmente linhas de tendência para confirmar tendências e identificar possíveis pontos de reversão ou de continuação. Nesta série sobre o desenvolvimento de um kit de ferramentas de avaliação da ação do preço, apresentamos uma ferramenta focada no desenho de linhas de tendência inclinadas para facilitar a análise do mercado. Essa ferramenta simplifica o processo para os traders ao destacar claramente as principais tendências e níveis essenciais para uma avaliação da ação do preço.
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
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
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
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
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
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
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
Automatizando Estratégias de Trading em MQL5 (Parte 12): Implementação da Estratégia Mitigation Order Blocks (MOB)

Automatizando Estratégias de Trading em MQL5 (Parte 12): Implementação da Estratégia Mitigation Order Blocks (MOB)

Neste artigo, construímos um sistema de trading em MQL5 que automatiza a detecção de order blocks para trading Smart Money. Descrevemos as regras da estratégia, implementamos a lógica em MQL5 e integramos o gerenciamento de risco para uma execução eficaz das operações. Por fim, realizamos o backtest do sistema para avaliar seu desempenho e refiná-lo para obter resultados ideais.
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
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
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
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
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
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
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
Redes neurais em trading: Modelo hiperbólico de difusão latente (Conclusão)

Redes neurais em trading: Modelo hiperbólico de difusão latente (Conclusão)

A aplicação de processos de difusão anisotrópicos para codificação dos dados brutos no espaço latente hiperbólico, conforme proposto no framework HypDiff, contribui para a preservação das características topológicas da situação atual do mercado e melhora a qualidade de sua análise. No artigo anterior, iniciamos a implementação das abordagens propostas usando MQL5. Hoje, continuaremos esse trabalho iniciado, levando-o até sua conclusão lógica.
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.